javascript实现简单计算器效果【推荐】


Posted in Javascript onApril 19, 2016

最终效果如下图-2,有bug:就是整数后点击%号结果正确,如果小数后面点击%的话结果就错误!其他都正常,求指点:input的value是string类型的,在JS中改如何正确处理下图-1中的if部分??

图-1

javascript实现简单计算器效果【推荐】

图-2

javascript实现简单计算器效果【推荐】

HTML代码如下

<body>
<div id="calculator">
  <div class="LOGO">
    <span class="name">简单的计算器</span>
    <span class="verson">@walker</span>
  </div>
  <div id="shuRu">
    <!--screen输入栏-->
    <div class="screen">
      <input type="text" id="screenName" name="screenName" class="screen">
    </div>
  </div>
  <div id="keys">
    <!-- j -->
    <!--第一排-->
    <input type="button" id="7" onclick="jsq(this.id)" value="7" class="buttons">
    <input type="button" id="8" onclick="jsq(this.id)" value="8" class="buttons">
    <input type="button" id="9" onclick="jsq(this.id)" value="9" class="buttons">
    <input type="button" id="Back" onclick="tuiGe()" value="Back" class="buttons">
    <input type="button" id="C" onclick="clearNum()" value="C" class="buttons" style="margin-right:0px">
    <!--第二排-->
    <input type="button" id="4" onclick="jsq(this.id)" value="4" class="buttons">
    <input type="button" id="5" onclick="jsq(this.id)" value="5" class="buttons">
    <input type="button" id="6" onclick="jsq(this.id)" value="6" class="buttons">
    <input type="button" id="*" onclick="jsq(this.id)" value="X" class="buttons">
    <input type="button" id="/" onclick="jsq(this.id)" value="/" class="buttons" style="margin-right:0px">
    <!--第三排-->
    <input type="button" id="1" onclick="jsq(this.id)" value="1" class="buttons">
    <input type="button" id="2" onclick="jsq(this.id)" value="2" class="buttons">
    <input type="button" id="3" onclick="jsq(this.id)" value="3" class="buttons">
    <input type="button" id="+" onclick="jsq(this.id)" value="+" class="buttons">
    <input type="button" id="-" onclick="jsq(this.id)" value="-" class="buttons" style="margin-right:0px">
    <!--第四排-->
    <input type="button" id="0" onclick="jsq(this.id)" value="0" class="buttons">
    <input type="button" id="00" onclick="jsq(this.id)" value="00" class="buttons">
    <input type="button" id="." onclick="jsq(this.id)" value="." class="buttons">
    <input type="button" id="%" onclick="jsq(this.id)" value="%" class="buttons">
    <input type="button" id="eva" onclick="eva()" value="=" class="buttons" style="margin-right:0px">
  </div>
  <div class="footer">
    <span class="aside">欢迎使用JavaScript计算器</span>
      <span class="link">
        <a href="#" title="声明" target="_blank">反馈</a>
      </span>
  </div>
</div>
</body>

CSS代码如下:

<style>
    /*Basic reset*/
*{
  margin:0;
  padding:0;
  box-sizing: border-box;
  font: 14px Arial,sans-serif;
}
html{
  height:100%;
  background-color:lightslategrey;
}

#calculator{
  margin: 15px auto;
  width:330px;
  height:400px;
  border: 1px solid lightgray;
  background-color:darkgrey;
  padding:15px;
}

/*LOGO*/
.LOGO{
  height:20px;

}
.LOGO .name{
  float:left;
  line-height:30px;
}
.LOGO .verson{
  float:right;
  line-height:30px;
}
/*screen*/
#shuRu{
  margin-top:15px;
}
.screen{
  margin-top:5px;
  width:300px;
  height:40px;
  text-align: right;
  padding-right:10px;
  font-size:20px;
}
#keys{
  border:1px solid lightgray;
  height:223px;
  margin-top:25px;
  padding:8px;
}
#keys .last{
  margin-right:0px;
}
.footer{
  margin-top:20px;
  height:20px;
}
.footer .link{
  float:right;
}

#keys .buttons{
  float:left;
  width: 42px;
  height: 36px;
  text-align:center;
  background-color:lightgray;
  margin: 0 17px 20px 0;
}
  </style>

javascript代码如下:

<script> 
    var num = 0; // 定义第一个输入的数据 
    function jsq(num) { 
      //获取当前输入 
      if(num=="%"){ 
        document.getElementById('screenName').value=Math.round(document.getElementById('screenName').value)/100; 
      }else{ 
        document.getElementById('screenName').value += document.getElementById(num).value; 
      } 
    } 
    function eva() { 
      //计算输入结果 
      document.getElementById("screenName").value = eval(document.getElementById("screenName").value); 
    } 
    function clearNum() { 
      //清0 
      document.getElementById("screenName").value = null; 
      document.getElementById("screenName").focus(); 
    } 
    function tuiGe() { 
      //退格 
      var arr = document.getElementById("screenName"); 
      arr.value = arr.value.substring(0, arr.value.length - 1); 
    } 
  </script>

以上这篇javascript实现简单计算器效果【推荐】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
[原创]js获取数组任意个不重复的随机数组元素
Mar 15 Javascript
javascript与CSS复习(二)
Jun 29 Javascript
JS操作Cookies的小例子
Oct 15 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
Oct 28 Javascript
Jquery promise实现一张一张加载图片
Nov 13 Javascript
不定义JQuery插件 不要说会JQuery
Mar 07 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
Apr 14 jQuery
谈谈JS中的!!
Dec 07 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
May 07 Javascript
微信小程序自定义toast组件的方法详解【含动画】
May 11 Javascript
深入解析koa之中间件流程控制
Jun 17 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
Jan 13 Vue.js
Jquery实现的简单轮播效果【附实例】
Apr 19 #Javascript
jQuery实现选项联动轮播效果【附实例】
Apr 19 #Javascript
浅析JavaScript中浏览器的兼容问题
Apr 19 #Javascript
javascript+HTML5 Canvas绘制转盘抽奖
May 16 #Javascript
深入浅析JavaScript中的constructor
Apr 19 #Javascript
js点击返回跳转到指定页面实现过程
Aug 20 #Javascript
javascript html5摇一摇功能的实现
Apr 19 #Javascript
You might like
玛琪朵 Macchiato
2021/03/03 咖啡文化
PHP 网页过期时间的控制代码
2009/06/29 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
一段批量给页面上的控件赋值js
2010/06/19 Javascript
javscript对象原型的一些看法
2010/09/19 Javascript
用Javascript评估用户输入密码的强度(Knockout版)
2011/11/30 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
python控制台英汉汉英电子词典
2020/04/23 Python
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
PySide和PyQt加载ui文件的两种方法
2019/02/27 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
Django REST framwork的权限验证实例
2020/04/02 Python
Python如何进行时间处理
2020/08/06 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
HTML5实时语音通话聊天MP3压缩传输3KB每秒
2019/08/28 HTML / CSS
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
高考1977观后感
2015/06/04 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记
详解pytorch创建tensor函数
2022/03/22 Python