iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >原生JavaScript如何实现网页版计算器
  • 951
分享到

原生JavaScript如何实现网页版计算器

2023-06-25 12:06:03 951人浏览 薄情痞子
摘要

这篇文章主要介绍了原生javascript如何实现网页版计算器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先是网页计算器的样式部分不想手写直接复制即可<!DOCTY

这篇文章主要介绍了原生javascript如何实现网页版计算器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

原生JavaScript如何实现网页版计算器

首先是网页计算器的样式部分不想手写直接复制即可

<!DOCTYPE html><html lang="zh-CN"> <head>    <meta charset="UTF-8">    <meta Http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        * {            margin: 0;            padding: 0;            box-sizing: border-box;        }         .cal {            width: 420px;            margin: 100px auto;            background-color: #E6E6E6;             padding: 2px;            overflow: hidden;        }          .show {            position: relative;            width: 416px;            height: 120px;             font-size: 50px;            line-height: 50px;            font-weight: 700;        }         .show button {            display: none;             position: absolute;            top: -2px;            right: -2px;             width: 60px;            height: 40px;            line-height: 40px;            text-align: center;            border: transparent;            background-color: #E6E6E6;             font-size: 30px;            font-weight: 100;            cursor: pointer;        }         .show button:hover {            background-color: #e81123;            color: #f0f0f0        }         .res,        .left,        .right {            position: absolute;            bottom: 0;             height: 60px;            line-height: 60px;            padding: 0 3px;        }         .res {            right: 0;                         text-align: right;        }         .left {            display: none;            background-color: #E6E6E6;        }         .right {            display: none;            right: 0;            background-color: #E6E6E6;        }         .left:hover,        .right:hover {            color: #2e8eda;        }         .keyboard {            display: flex;            flex-wrap: wrap;            justify-content: center;        }           .btn {            display: flex;            justify-content: center;             width: 100px;            height: 60px;            line-height: 60px;            margin: 2px;             background-color: #f0f0f0;            border: transparent;             font-size: large;        }         .btn:hover {            background-color: #d6d6d6;        }         .digital {            background-color: #fafafa;            font-weight: 700;        }         .equal {            background-color: #8abae0;        }         .equal:hover {            background-color: #4599db;        }    </style></head> <body>     <div class="cal">        <div class="show">            <button class="close">×</button>            <div class="res">0</div>            <div class="left">&lt;</div>            <div class="right">&gt;</div>        </div>        <div class="keyboard">            <!-- 0 -->            <button class="btn percent">%</button>            <!-- 1 -->            <button class="btn clearOne">CE</button>            <!-- 2 -->            <button class="btn clearAll">C</button>            <!-- 3 -->            <button class="btn back">del</button>            <!-- 4 -->            <button class="btn div1">1/x</button>            <!-- 5 -->            <button class="btn square">x&sup2;</button>            <!-- 6 -->            <button class="btn sqrt">&sup2;√x</button>            <!-- 7 -->            <button class="btn div">÷</button>            <!-- 8 -->            <button class="btn digital">7</button>            <!-- 9 -->            <button class="btn digital">8</button>            <!-- 10 -->            <button class="btn digital">9</button>            <!-- 11 -->            <button class="btn mul">x</button>            <!-- 12 -->            <button class="btn digital">4</button>            <!-- 13 -->            <button class="btn digital">5</button>            <!-- 14 -->            <button class="btn digital">6</button>            <!-- 15 -->            <button class="btn sub">-</button>            <!-- 16 -->            <button class="btn digital">1</button>            <!-- 17 -->            <button class="btn digital">2</button>            <!-- 18 -->            <button class="btn digital">3</button>            <!-- 19 -->            <button class="btn add">+</button>            <!-- 20 -->            <button class="btn neg">+/-</button>            <!-- 21 -->            <button class="btn digital">0</button>            <!-- 22 -->            <button class="btn digital">.</button>            <!-- 23 -->            <button class="btn equal">=</button>        </div>    </div>    <script src="./计算机.js"></script></body> </html>

js部分:

const bt = document.querySelectorAll('.keyboard button')const close = document.querySelector('.close')const res = document.querySelector('.res')//当点击的数字的时候let k = 0let onelet twofunction arr(num) {    bt[num].onclick = function () {        res.innerText += bt[num].innerText        res.innerText = parseFloat(res.innerText)        // console.log(one)     }}//小数点//保留结果小数function fn() {    if (res.innerText.length > 8) {        res.innerText = res.innerText.slice(0, 10)    }    if (res.innerText == 'NaN') {        res.innerText = 0    } } //当点击的是运算符号的时候function symbol(str, fu) {    bt[str].onclick = function () {        k++        if (k > 1) {            return        }        one = parseFloat(res.innerText)        // switch (fu) {        //     case '+':        //         one += one        //         break;        //     case '-':        //         one -= one        //         break;        //     case '*':        //         one *= one        //         break;        //     case '/':        //         one /= one        //         break;        // }        res.innerText = ''        close.style.display = 'block'        close.innerText = bt[str].innerText        console.log(one)    }} arr(21)arr(18)arr(17)arr(16)arr(14)arr(13)arr(12)arr(10)arr(9)arr(8)arr(22)//运算符号symbol(0)symbol(7, '/')symbol(11, '*')symbol(15, '-')symbol(19, '+')console.log(bt[22].innerText)bt[22].onclick = function () {    res.innerText += bt[22].innerText    console.log(565)}bt[23].onclick = function () {    two = parseFloat(res.innerText)    switch (close.innerText) {        case '%':            //toFixed(11)保留11位小数            res.innerText = one % two            k = 0            break;        case '+':            res.innerText = one + two            k = 0            break;        case '-':            res.innerText = one - two            k = 0            break;        case 'x':            res.innerText = one * two            k = 0            break;        case '÷':            res.innerText = one / two            k = 0            break;    }    // console.log(res.innerText.length)    fn()  }bt[1].onclick = function () {    res.innerText = ''}bt[2].onclick = function () {    res.innerText = '0'    close.innerText = 'x'    close.style.display = ''    one = 0    two = 0}bt[3].onclick = function () {    res.innerText = res.innerText.slice(0, res.innerText.length - 1)    if (res.innerText.length === 0) {        res.innerText = '0'        return    }}bt[4].onclick = function () {    res.innerText = 1 / parseFloat(res.innerText)    fn()}bt[5].onclick = function () {    res.innerText = parseFloat(res.innerText) * parseFloat(res.innerText)    fn()} bt[6].onclick = function () {    res.innerText = Math.sqrt(parseFloat(res.innerText))    fn()}bt[20].onclick = function () {    res.innerText = 0 - parseFloat(res.innerText)    fn()}

感谢你能够认真阅读完这篇文章,希望小编分享的“原生JavaScript如何实现网页版计算器”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: 原生JavaScript如何实现网页版计算器

本文链接: https://www.lsjlt.com/news/304608.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c语言怎么保证除完还是小数
    在 c 语言中,整数除法只能得到整数结果,要得到小数结果,需将操作数显式转换为浮点数:将一个操作数转换为浮点数,如 float result = num1 / (float)num2;将...
    99+
    2024-05-14
    c语言
  • c语言怎么让结尾不输出空行字符
    要阻止 c 语言程序结尾输出空行字符,可以使用以下方法:将 main 函数的返回值类型改为 void;在 main 函数中显式返回 0;调用 fflush(stdout) 函数刷新标准输...
    99+
    2024-05-14
    c语言
  • c语言怎么让结尾不输出空行数据
    在 c 语言中,可通过以下方法抑制 printf() 函数在程序结束时打印末尾空行:调用 fflush() 函数刷新缓冲区,立即输出所有数据;使用 setvbuf() 函数关闭缓冲,使数...
    99+
    2024-05-14
    c语言
  • c语言怎么让结尾无空行
    在 c 中去除结尾空行的方法:使用 fflush() 刷新缓冲区。使用 setvbuf() 将缓冲模式设置为 _ionbf。使用 printf 宏,它默认禁用缓冲。 如何在 C 语言中...
    99+
    2024-05-14
    c语言
  • c语言怎么输入实数赋值
    c语言中使用scanf()函数输入实数并赋值给变量:格式:scanf("%lf", &amp;variable);%lf是格式说明符,指定输入双精度浮点数;&...
    99+
    2024-05-14
    c语言
  • c语言怎么表达负数
    c语言中,负数以减号 (-) 表示,放在数字或变量前。负数运算规则包括:绝对值取正数;加正数或负数,结果取决于绝对值大小;乘或除以正数或负数,结果由符号奇偶性决定。负数的平方始终为正数,...
    99+
    2024-05-14
    c语言
  • c语言怎么输入Jac数列
    jacobi 数列的输入和生成方法分别有:1. 直接输入法:使用 scanf() 函数逐项输入数列。2. 递归生成法:使用递归公式生成数列,需初始化数列的前两项,然后按公式生成后续项。 ...
    99+
    2024-05-14
    c语言
  • c语言怎么把数组变成字符串
    在 c 语言中,将数组转换成字符串的方法包括:使用 sprintf() 将数组格式化为字符串。使用 strcpy() 将数组复制到字符串。使用 strncpy() 将指定长度的数组复制到...
    99+
    2024-05-14
    c语言
  • c语言怎么批量注释
    批量注释 c 语言代码的方法有:使用代码编辑器:使用快捷键或菜单命令自动添加 // 注释符号。使用注释工具:如 doxygen 和 cutter,批量添加行注释、块注释和文档注释。使用脚...
    99+
    2024-05-14
    python sublime c语言
  • c语言怎么把选中的全部注释
    c语言中注释选中内容可通过以下步骤实现:选中要注释的代码。根据使用的编辑器或ide,执行注释操作,例如在visual studio中右键单击并选择“注释所选内容”。添加注释内容。保存更改...
    99+
    2024-05-14
    sublime c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作