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 Perfection kill 测试及答案
Mar 23 Javascript
轻量级 JS ToolTip提示效果
Jul 20 Javascript
网易JS面试题与Javascript词法作用域说明
Nov 09 Javascript
js中获取事件对象的方法小结
Mar 13 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
Jul 25 Javascript
js中cookie的添加、取值、删除示例代码
Oct 21 Javascript
JavaScript中的原始值和复杂值
Jan 07 Javascript
Web程序员必备的7个JavaScript函数
Jun 14 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
Mar 13 Javascript
浅谈Node.js 中间件模式
Jun 12 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
Sep 06 Javascript
解决layui动态添加的元素click等事件触发不了的问题
Sep 20 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中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
常用python数据类型转换函数总结
2014/03/11 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
python字符串格式化方式解析
2019/10/19 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
python实现拼图小游戏
2020/02/22 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
什么是Python变量作用域
2020/06/03 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
优秀员工获奖感言
2014/03/01 职场文书
行政人事岗位职责
2014/03/17 职场文书
事业单位鉴定材料
2014/05/25 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
学生偷窃检讨书
2014/09/25 职场文书
MYSQL 运算符总结
2021/11/11 MySQL
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS