基于html+css+js实现简易计算器代码实例

yizhihongxing

下面我将详细讲解如何基于html+css+js实现简易计算器代码实例。

HTML部分

首先,我们需要创建一个HTML页面,代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>简易计算器</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="container">
        <div class="screen">
            <p id="result"></p>
        </div>
        <div class="row">
            <button onclick="buttonClick('7')">7</button>
            <button onclick="buttonClick('8')">8</button>
            <button onclick="buttonClick('9')">9</button>
            <button onclick="buttonClick('/')">÷</button>
        </div>
        <div class="row">
            <button onclick="buttonClick('4')">4</button>
            <button onclick="buttonClick('5')">5</button>
            <button onclick="buttonClick('6')">6</button>
            <button onclick="buttonClick('*')">×</button>
        </div>
        <div class="row">
            <button onclick="buttonClick('1')">1</button>
            <button onclick="buttonClick('2')">2</button>
            <button onclick="buttonClick('3')">3</button>
            <button onclick="buttonClick('-')">-</button>
        </div>
        <div class="row">
            <button onclick="buttonClick('0')">0</button>
            <button onclick="buttonClick('.')">.</button>
            <button onclick="calculate()">=</button>
            <button onclick="buttonClick('+')">+</button>
        </div>
        <div class="row">
            <button onclick="clearScreen()">清屏</button>
        </div>
    </div>
    <script src="script.js"></script>
</body>
</html>

其中,我们创建了一个class为container的外层容器,里面包含一个id为result的p标签,用于显示计算器的计算结果。之后是四个class为row的行,每行包含了4个数字和运算符按钮,以及一个清除按钮。

CSS部分

接下来,我们需要为计算器样式添加CSS,代码如下:

.container {
    margin: 100px auto;
    width: 300px;
    height: 400px;
    background: #F5F5F5;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
}

.screen {
    height: 80px;
    background: white;
    border-radius: 5px;
    margin-bottom: 20px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: 20px;
    font-size: 32px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

button {
    width: 70px;
    height: 70px;
    margin-right: 10px;
    border: none;
    border-radius: 5px;
    background: white;
    color: #333;
    font-size: 24px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

button:hover {
    background: #F5F5F5;
}

.row:last-child button {
    background: #F5F5F5;
    color: #333;
}

.row:last-child button:hover {
    background: #efefef;
}

CSS部分主要是为计算器组件添加样式,包括容器的大小与外观(居中,背景色、圆角、阴影等),屏幕部分的样式(显示结果,背景,圆角、阴影等),按钮样式,以及按钮的颜色状态等。

JS部分

最后,我们需要添加JavaScript代码,来实现计算器的功能。代码如下:

let result = document.getElementById('result');

function buttonClick(buttonValue) {
    result.innerText += buttonValue;
}

function clearScreen() {
    result.innerText = '';
}

function calculate() {
    try {
        result.innerText = eval(result.innerText);
    } catch (error) {
        alert(error);
        clearScreen();
    }
}

JS部分主要包括三个函数buttonClick、clearScreen、calculate,分别用于处理按钮被点击时的逻辑、清空屏幕内容、计算结果的逻辑处理(通过eval函数来计算屏幕内容的结果),并且处理了计算报错的异常情况。

示例1:输入1+2,得到结果为3

示例2:输入10/5,得到结果为2

这就是基于html+css+js实现简易计算器的完整攻略,包括HTML部分、CSS部分和JS部分。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于html+css+js实现简易计算器代码实例 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • 详解Vue2.x-directive的学习笔记

    首先,在学习Vue2.x-directive之前,我们需要了解一下Vue.js中的指令(Directive)是什么。指令是Vue.js提供的带有v-前缀的特殊属性,它们的职责是当表达式的值改变时,将某些行为应用到DOM元素上。例如,v-bind可以使当前元素的某个属性值与Vue.js数据模型中的属性值绑定在一起,v-show可以根据Vue.js数据模型中的值…

    css 2023年6月9日
    00
  • 详解CSS 伪元素及Content 属性

    以下是一份完整的“详解CSS 伪元素及Content 属性 ”的攻略: 详解CSS 伪元素及Content 属性 1. 什么是伪元素? 伪元素是CSS中的一个特殊概念,它可以让开发者选择某特定元素中的某些内容,并为其应用样式。伪元素不是真实的文档树元素,而是CSS选择器中用到的一类关键字,它们可以通过CSS选择器中的 :: 或 : 前缀进行声明。常用的伪元素…

    css 2023年6月10日
    00
  • 使你的网站快速跑起来

    下面是针对网站优化的攻略,使你的网站快速跑起来。 1. 压缩和缩小代码 减少代码的大小和数量可以大大减少加载时间。压缩和缩小(minify)代码是一种优化技术,能够减少文件的大小和数量,从而提高网站的加载速度。可以使用工具,如UglifyJS、Google Closure Compiler、CSS Minifier等来压缩和缩小JavaScript、CSS和…

    css 2023年6月9日
    00
  • CSS3实现3D文字动画效果

    下面是“CSS3实现3D文字动画效果”的完整攻略: 1.准备工作 首先需要创建一个HTML文件,并在文件中引入CSS文件,以便进行样式设置。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CSS3实现3D文…

    css 2023年6月10日
    00
  • 12个CSS高级技巧汇总

    12个CSS高级技巧汇总 1. 使用object-fit调整图片大小 object-fit是一个CSS属性,它可以帮助我们调整图片的大小并适应父元素的大小。比如,我们可以将一个宽高比与父元素不同的图片,通过object-fit: cover属性来实现填充整个父元素,并裁剪掉多余部分。 img { width: 100%; height: 200px; obj…

    css 2023年6月9日
    00
  • CSS3悬停效果案例应用

    CSS3 悬停效果是网页设计中常用的一种效果,可以为网页增加交互性和美观性。下面是一个完整攻略,包含了如何使用 CSS3 实现悬停效果的过程和两个示例说明。 CSS3 悬停效果的实现过程 1. 使用:hover 伪类 我们可以使用 CSS3 的 :hover 伪类来实现悬停效果。下面是一个示例: <div class="box"&g…

    css 2023年5月18日
    00
  • jquery弹窗时禁止body滚动条滚动的例子

    请参考以下攻略,包含两个示例说明。 攻略 当使用jQuery弹出框或模态框时,为了确保用户集中精力处理弹出框中的信息,我们通常要禁止页面的滚动。 一种简单的解决方法是通过禁止body元素的滚动来实现。我们可以使用CSS和JavaScript来实现这一目的。 示例如下: 1. CSS方式: /* 禁止body元素滚动 */ body.modal-open { …

    css 2023年6月10日
    00
  • 神奇!js+CSS+DIV实现文字颜色渐变效果

    请看下文详细讲解实现文字颜色渐变效果的攻略。 简介 利用JavaScript、CSS和DIV实现文字颜色渐变效果可以让页面文本更生动、更有活力,使页面具有更好的视觉效果和用户体验。实现该效果的核心思路是利用JavaScript来控制CSS中颜色属性值的变化,从而实现渐变效果。同时结合使用DIV元素作为文本容器,能够很好地提高文本的可控性和可读性。 实现方法 …

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部