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 相关文章推荐
Javascript 兼容firefox的一些问题
May 21 Javascript
简介JavaScript中toTimeString()方法的使用
Jun 12 Javascript
基于JavaScript实现瀑布流布局(二)
Jan 26 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
Jun 07 Javascript
jQuery深拷贝Json对象简单示例
Jul 06 Javascript
AngularJs Scope详解及示例代码
Sep 01 Javascript
JavaScript中省略元素对数组长度的影响
Oct 26 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
Dec 22 Javascript
JavaScript表单验证完美代码
Mar 02 Javascript
js编写选项卡效果
May 23 Javascript
使用Vue 自定义文件选择器组件的实例代码
Mar 04 Javascript
实例讲解React 组件生命周期
Jul 08 Javascript
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
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
判断对象是否Window的实现代码
2012/01/10 Javascript
使用jQuery避免鼠标双击的解决方案
2013/08/21 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
Jquery插件easyUi实现表单验证示例
2015/12/15 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
深入理解javascript中的this
2021/02/08 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
python线程池的实现实例
2013/11/18 Python
Python的语言类型(详解)
2017/06/24 Python
Python流程控制 while循环实现解析
2019/09/02 Python
python自动识别文本编码格式代码
2019/12/26 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
Python如何对齐字符串
2020/07/30 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
优秀学生干部推荐材料
2014/02/03 职场文书
广告宣传策划方案
2014/05/21 职场文书
信访稳定工作汇报
2014/10/27 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
辩护意见书
2015/06/04 职场文书
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python
muduo TcpServer模块源码分析
2022/04/26 Redis