JS实现简易计算器

用JS实现简易计算器,供大家参考,具体内容如下

首先创建结构和样式

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body{
      margin:0;
      padding:0;
      background-color: #abcdef;
    }
    .cal{
      width:560px;
      height:100px;
      margin:0 auto;
      padding-top:300px;
    }
  </style>
</head>
<body>

  <div class="cal">
    <p>
      <input type="text" class="num1" value="1">
      <span class="sign">+</span>
      <input type="text" class="num2" value="1">
      <span>=</span>
      <span class="res">2</span>
    </p>
    <p>
      <input type="button" value="+">
      <input type="button" value="-">
      <input type="button" value="*">
      <input type="button" value="/">
    </p>
  </div>
<script>

</script>

</body>
</html>

然后添加Java script

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body{
      margin:0;
      padding:0;
      background-color: #abcdef;
    }
    .cal{
      width:560px;
      height:100px;
      margin:0 auto;
      padding-top:300px;
    }
  </style>
</head>
<body>

  <div class="cal">
    <p>
      <input type="text" class="num1" value="1">
      <span class="sign">+</span>
      <input type="text" class="num2" value="1">
      <span>=</span>
      <span class="res">2</span>
    </p>
    <p>
      <input type="button" value="+" class="btn">
      <input type="button" value="-" class="btn">
      <input type="button" value="*" class="btn">
      <input type="button" value="/" class="btn">
    </p>
  </div>

<script>
  var cal=document.querySelector(".cal");
  var num1=cal.querySelector(".num1");
  var num2=cal.querySelector(".num2");
  var sign=cal.querySelector(".sign");
  var res=cal.querySelector(".res");

  var btns=cal.querySelectorAll(".btn");

  btns[0].onclick=add;
  btns[1].onclick=subtract;
  btns[2].onclick=multiply;
  btns[3].onclick=divide;

  function add(){
    sign.innerHTML="+";
    //由于DOM获取到的值都是字符串形式,因此进行操作时需要先转为number类型
    res.innerHTML=Number(num1.value)+Number(num2.value);
  }
  function subtract(){
    sign.innerHTML="-";
    res.innerHTML=Number(num1.value)-Number(num2.value);
  }
  function multiply(){
    sign.innerHTML="*";
    res.innerHTML=Number(num1.value)*Number(num2.value);
  }
  function divide(){
    sign.innerHTML="/";
    res.innerHTML=Number(num1.value)/Number(num2.value);
  }
</script>

</body>
</html>

代码的优化:

循环实现绑定

给一个外部接口,用于新增运算

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body{
      margin:0;
      padding:0;
      background-color: #abcdef;
    }
    .cal{
      width:560px;
      height:100px;
      margin:0 auto;
      padding-top:300px;
    }
  </style>
</head>
<body>

  <div class="cal">
    <p>
      <input type="text" class="num1" value="1">
      <span class="sign">+</span>
      <input type="text" class="num2" value="1">
      <span>=</span>
      <span class="res">2</span>
    </p>
    <p>
      <input type="button" value="+" class="btn" title="add">
      <input type="button" value="-" class="btn" title="subtract">
      <input type="button" value="*" class="btn" title="multiply">
      <input type="button" value="/" class="btn" title="divide">
      <input type="button" value="%" class="btn" title="mod">
    </p>
  </div>

<script>
  var cal=document.querySelector(".cal");
  var num1=cal.querySelector(".num1");
  var num2=cal.querySelector(".num2");
  var sign=cal.querySelector(".sign");
  var res=cal.querySelector(".res");

  var btns=cal.querySelectorAll(".btn");

  //给每个按钮绑定事件
  for(var i=0;i<btns.length;i++){
    operate(i);
  }

  //运算函数
  function operate(i){
    var op=btns[i].value;//获取运算
    var opName=btns[i].title;//获取运算名
    //绑定事件
    btns[i].onclick=function(){
      sign.innerHTML=op;
      res.innerHTML=operation[opName](Number(num1.value),Number(num2.value));
    }
  }

  var operation={
    add:function(n1,n2){
      return n1+n2;
    },
    subtract:function(n1,n2){
      return n1-n2;
    },
    multiply:function(n1,n2){
      return n1*n2;
    },
    divide:function(n1,n2){
      return n1/n2;
    },
    //给一个新增运算的接口
    addOperation:function(name,fn){
      //如果该运算不存在
      if(!this.name){
        this[name]=fn;
      }
    }
  }

  //新增取余运算
  operation.addOperation("mod",function(n1,n2){
    return n1%n2;
  });
</script>

</body>
</html>

这样就圆满完成咯

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • javascript实现简易的计算器

    利用javascript实现简易的计算器,供大家参考,具体内容如下 1.先构思整个计算器的模式以及想要实现的功能,按模块创建相应的div,在"head"中设置其样式和布局. 2.用"input"标签创建text类型,置为输出框:依次创建buttom类型,置为按钮,内容为1.2.3--:创建"=",并在input中对他进行点击事件"οnclick="result()"". 3.添加script,利用var定义

  • JavaScript实现简单的计算器

    本文实例为大家分享了JavaScript实现简单的计算器的具体代码,供大家参考,具体内容如下 整个计算器实现由html文件.js文件和css样式表三部分组成 整体效果:body里放俩div,一个大的包一个小的,小的放键盘,键盘div里放键盘. html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>计算器<

  • js实现简单计算器

    参考部分资料,编写一个简单的计算器案例,虽然完成了正常需求,但是也有不满之处,待后续实力提升后再来补充,先把不足之处列出: 1:本来打算只要打开页面,计算器的输入框会显示一个默认为0的状态,但是在输入框加入默认显示为0的时候,选择数据输入时,该0会显示输入数字的前面,例如"0123",由于能力有限,待后续实力提升再来补充完善! 2:目前只能实现鼠标控制选择按钮,待完善键盘录入功能. 3:乘法的那个符号在本来想改成"×"这个符号的,待后续完善. 附图片一张: html

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

    本文实例讲述了JS实现基本的网页计算器功能.分享给大家供大家参考,具体如下: <html> <head> <title>网页计算机</title> <meta charset="UTF-8"/> <style type="text/css"> #jsjdiv{ border: solid 1px black; border-radius: 5px; width: 200px; /*height:

  • 简易js代码实现计算器操作

    复制代码 代码如下: <html> <head> <title>JS版计算器</title> <link rel="stylesheet" type="text/css" href=""> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <!--

  • JavaScript实现简单计算器功能

    本文实例为大家分享了JavaScript实现简单计算器的具体代码,供大家参考,具体内容如下 1.实现基本计算器功能,如图 2.逻辑代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>计算器</title> <!--设置样式--> <style> .showdiv{ text-align: center; margin:

  • 用JS写的简单的计算器实现代码

      1.本页效果图片     2.美化后的效果 Array.prototype.remove=function(index) { if(isNaN(index)||index>this.length){return false;} for(var i=0,n=0;i 0){ del = 1; this.tmp = this.register[0]; } if(_sign == '-'){ this.tmp = -this.tmp; }else{ this.tmp = Math.abs(this.

  • JavaScript简易计算器制作

    本文实例为大家分享了JavaScript实现简易计算器的具体代码,供大家参考,具体内容如下 成品图 这个简易的计算器只能实现 + - * /的运算 在动手之前,我们要先理清思路,看图,若想实现这样一个简易的计算器,我们需要两个输入框用来存放我们需要进行运算的两个值,一个下拉框来选择要进行什么运算,一个按钮来实现开始运算,一个输入框来保存我们计算后的值! 首先,我们在body中制作页面需要的这些元素 <body> <input type="text" id="

  • javascript-简单的计算器实现步骤分解(附图)

    知识点: 1.数学运算"+,-,*,/"的使用 2.输入内容的判断,对于事件对象的来源的判断 效果:   代码: 复制代码 代码如下: <style> #calculate { line-height: 60px; text-align: center; background: #ccc; font-size: 16px; font-weight: bold; } #calculate tbody input{ width: 100%; height: 60px; back

  • javascript写的简单的计算器,内容很多,方法实用,推荐

    最近用javascript写了一个简单的计算器,自己测试感觉还好,先给大家观赏下界面: 界面就是这样了,但是功能如何呢? 现在只是个简单的标准计算器,能进行加减乘除连续运算,以及求余运算.如果发生被除数为零的错误,下面会给出提示,就像这样: 自己不知道写的怎么样,但是对于新手来说,这肯定是一份大餐,里面可以接触到的东西不少,可以拿来学习.如果有高手看出里面的疏漏.错误等望不吝赐教,给予指点. 下面贴上代码,希望里面的注释足够多了. js部分: 复制代码 代码如下: var num=0,resul

随机推荐