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

下面我将详细讲解如何基于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日

相关文章

  • CSS border-width 属性使用教程

    CSS border-width 属性使用教程 CSS的border-width属性用于设置元素边框的宽度。它可以单独设置一个方向的边框宽度,也可以一次性设置四个方向的边框宽度。 基础语法 border-width: thin | medium | thick | length | initial | inherit; thin:设置边框宽度为1像素。 me…

    css 2023年6月10日
    00
  • 纯CSS实现hover图片pop-out弹出效果的实例代码

    关于“纯CSS实现hover图片pop-out弹出效果的实例代码”,我来详细讲解一下。 什么是hover图片pop-out弹出效果 先来了解一下这个效果的定义。hover图片pop-out弹出效果是指鼠标放在图片上时,使图片缩小并向上平移一定距离,形成一个出现和消失的效果。 实现方法 实现这个效果的方法可以通过CSS的transition属性和hover伪类…

    css 2023年6月10日
    00
  • HTML5离线应用与客户端存储的实现

    HTML5离线应用的目的是为了保证用户能在没有网络连接的情况下,也能够访问网站的内容。实现HTML5离线应用需要使用离线缓存机制,离线缓存机制能够将网站的完整内容缓存到用户本地,并且在没有网络连接时展示缓存的内容。 HTML5的客户端存储主要有两种方式:localStorage 和 sessionStorage。localStorage 是一种持久化的本地存…

    css 2023年6月9日
    00
  • PHP实现动态删除XML数据的方法示例

    下面是详细讲解“PHP实现动态删除XML数据的方法示例”的完整攻略。 标题一:背景和前置知识 在开发PHP应用程序时,我们常常需要对XML数据进行增删改查操作。其中删除操作是非常常见的,可以用来删除某个具体节点、某一类节点等。本文将介绍通过PHP实现动态删除XML数据的方法。 在阅读本文之前,需要你已经掌握PHP基础语法和XML基础知识,并安装了PHP解释器…

    css 2023年6月10日
    00
  • 转载:On having layout

    转载:On having layout 简介 On having layout 是一篇由Mark Boulton撰写的文章,主要讲解了如何在网页设计中正确使用布局。本文将对这篇文章进行详细解释和说明。 内容 在网页设计中,布局是至关重要的,它直接影响了页面的可读性和用户体验。在文章最开始,作者就针对布局的重要性进行了强调。在这篇文章中,作者主要讲解了以下四个…

    css 2023年6月13日
    00
  • 用CSS实现图片的3D凹凸感(凸出镜框外或凹陷镜框里)

    下面我将详细讲解如何用 CSS 实现图片的 3D 凹凸感。 准备图片 首先我们需要准备一张需要进行 3D 处理的图片。在该图片上可以尽可能的增加一些明亮和阴暗的区域,以便更好地突出凸出和凹陷的效果。 CSS 实现 3D 凹凸感 接下来,我们可以使用 CSS 来实现 3D 凹凸感。下面是一些示例说明: 使用 box-shadow 实现凸出 可以使用 box-s…

    css 2023年6月10日
    00
  • 利用CSS3的特性改变文本选中时的颜色

    下面是利用CSS3的特性改变文本选中时的颜色的完整攻略。 1. 为什么要改变文本选中时的颜色 在浏览器默认样式中,当选中一段文本时,文本会被高亮显示,默认颜色为蓝色,很多情况下可能与整个网站的设计方式不匹配。所以,为了更好地控制网站的视觉效果,我们需要改变文本选中时的颜色。 2. 利用CSS3的特性改变文本选中时的颜色 CSS3引入了众多新特性,其中一个就是…

    css 2023年6月9日
    00
  • ExtJS4 Grid改变单元格背景颜色及Column render学习

    下面我会详细讲解“ExtJS4 Grid改变单元格背景颜色及Column render学习”的攻略。 什么是ExtJS4 Grid? ExtJS4 Grid是一个基于JavaScript语言和HTML/CSS技术的高性能表格控件。它是一个面向企业级应用的表格控件,提供了丰富的表格功能和易于扩展的插件机制,适合用于数据呈现、数据分析和数据展示等场景。 改变单元…

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