JS实现基本的网页计算器功能示例


Posted in Javascript onJanuary 16, 2020

本文实例讲述了JS实现基本的网页计算器功能。分享给大家供大家参考,具体如下:

<html>
    <head>
        <title>网页计算机</title>
        <meta charset="UTF-8"/>
        <style type="text/css">
            #jsjdiv{
                border: solid 1px black;
                border-radius: 5px;
                width: 200px;
                /*height: 400px;*/
                text-align: center; /*设置div内部居中*/
                margin: auto;    /*设置计算机居中*/
                background-color: darkgrey;
            }
            input[type=text]{
                width: 190px;          /*设置大小*/
                height: 35px;
                margin-top: 10px;   /*设置边框*/
                margin-bottom: 5px;
            }
            input[type=button]{
                width: 44px;
                height: 44px;
                /*margin-left: 5px;
                margin-right: 5px;*/
                margin-top: 5px;
                margin-bottom: 10px;
                font-size: 25px;  /*设置text的字体大小及深度*/
                font-weight: 600;
            }
        </style>
        <script type="text/javascript">
            function cal(btn){
                var num=btn.value;
                switch (num){   // 利用eval可以把string的内容转化成代码,在代码中输入可以直接进行计算
                    case "=":
                        document.getElementById("inp").value=eval(document.getElementById("inp").value);
                        break;
                    case "c":
                        document.getElementById("inp").value="";
                        break;
                    default:        //进行输入数据的拼接
                        document.getElementById("inp").value=document.getElementById("inp").value + num;
                        break;
                }
            }
        </script>
    </head>
    <body>
        <div id="jsjdiv">
            <input type="text" name="" id="inp" value="" /><br />
            <input type="button" name="" id="btn" value="1" onclick="cal(this)"/>
            <input type="button" name="" id="" value="2" onclick="cal(this)"/>
            <input type="button" name="" id="" value="3" onclick="cal(this)"/>
            <input type="button" name="" id="" value="4" onclick="cal(this)"/><br />
            <input type="button" name="" id="" value="5" onclick="cal(this)"/>
            <input type="button" name="" id="" value="6" onclick="cal(this)"/>
            <input type="button" name="" id="" value="7" onclick="cal(this)"/>
            <input type="button" name="" id="" value="8" onclick="cal(this)"/><br />
            <input type="button" name="" id="" value="9" onclick="cal(this)"/>
            <input type="button" name="" id="" value="+" onclick="cal(this)"/>
            <input type="button" name="" id="" value="-" onclick="cal(this)"/>
            <input type="button" name="" id="" value="*" onclick="cal(this)"/><br />
            <input type="button" name="" id="" value="0" onclick="cal(this)"/>
            <input type="button" name="" id="" value="/" onclick="cal(this)"/>
            <input type="button" name="" id="" value="c" onclick="cal(this)"/>
            <input type="button" name="" id="" value="=" onclick="cal(this)" />
        </div>
    </body>
</html>

运行效果:

JS实现基本的网页计算器功能示例

网页计算机:

利用css进行div的布局设置基本的计算机的基本的框架,

在其内部设置text进行显示,利用button添加按钮。

一个主要的点:我们要在按按钮的时候,把数据输出到text文本上。我们利用了function添加一个函数,在进行按按钮时,利用onclick,连接到函数,在函数中实现文本的显示。但是我们在函数中只能对某个id进行调用,这样就表示有多少按钮就要有多少函数,而且内容相同。所以我们引用了this(当前对象)进行调用。

另一方面,我们要实现计算,我们利用eval()把其中的内容转化为代码,就相当于代码执行。所以可以直接进行运算输出。

当我们输入“=”和“c"就要进行计算操作,相应的我们利用了switch进行区分。

感兴趣的朋友可以使用在线HTML/CSS/JavaScript前端代码调试运行工具:http://tools.3water.com/code/WebCodeRun测试上述代码运行效果。

Javascript 相关文章推荐
php和js对数据库图片进行等比缩放示例
Apr 28 Javascript
js实现touch移动触屏滑动事件
Apr 17 Javascript
详解Javascript事件驱动编程
Jan 03 Javascript
Backbone中View之间传值的学习心得
Aug 09 Javascript
Javascript将JSON日期格式化
Aug 23 Javascript
微信小程序 网络API 上传、下载详解
Nov 09 Javascript
codeMirror插件使用讲解
Jan 16 Javascript
浅析JS中什么是自定义react数据验证组件
Oct 19 Javascript
微信小程序云开发实现云数据库读写权限
May 17 Javascript
微信小程序聊天功能的示例代码
Jan 13 Javascript
Vuex实现购物车小功能
Aug 17 Javascript
如何利用node转发请求详解
Sep 17 Javascript
JS数组进阶示例【数组的几种函数用法】
Jan 16 #Javascript
js实现简单的秒表
Jan 16 #Javascript
JS 数组基本用法入门示例解析
Jan 16 #Javascript
js实现上下左右键盘控制div移动
Jan 16 #Javascript
vue-cli3 取消eslint校验代码的解决办法
Jan 16 #Javascript
jQuery实现数字华容道小游戏(实例代码)
Jan 16 #jQuery
js实现点击生成随机div
Jan 16 #Javascript
You might like
PHP的单引号和双引号 字符串效率
2009/05/27 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
PHP实现图片压缩
2020/09/09 PHP
JavaScript 高效运行代码分析
2010/03/18 Javascript
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
运算符&amp;&amp;的三个不同层次
2013/04/07 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
2020/04/15 Javascript
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
2020/04/18 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
django使用F方法更新一个对象多个对象字段的实现
2020/03/28 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
优秀部门获奖感言
2014/02/14 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
爱国演讲稿500字
2014/05/04 职场文书
普通党员对照检查材料
2014/08/28 职场文书
股东授权委托书范文
2014/09/13 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
全国法制宣传日活动总结2014
2014/11/01 职场文书
2015新学期开学寄语
2015/02/26 职场文书
2016特色励志班级口号
2015/12/24 职场文书
深入解析Apache Hudi内核文件标记机制
2022/03/31 Servers
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis