javascript-JS写的简单计算器 求 连续加减乘除代码

问题描述

JS写的简单计算器 求 连续加减乘除代码

JS编写的计算器 如何才能实现连续的加减乘除 求大神告知具体方法 代码 我是新手 太复杂的看不懂 谢谢 我的代码如下

JiSuanQi
<!-- 移动层外部JS文件 -->

<br>
var oper = &quot;&quot;<br>
var isClickOper = false//是否点击了运算符<br>
var num = 0;<br>
var isClickPoint = false;//是否点击了小数点<br>
//输入数字 <br>
function addNum(n){<br>
var nowNum = myform.num.value;<br>
if(nowNum == &quot;0&quot;||isClickOper){//直接赋值<br>
myform.num.value = n;<br>
isClickOper = false;<br>
}else if(myform.num.value.length&lt;9){//限制文本框按键输入数字长度最多9个<br>
//myform.num.value = myform.num.value + n;//连接赋值<br>
myform.num.value += n //也可以这样写连接赋值<br>
}<br>
}<br>
//添加运算符<br>
function setOper(op){<br>
oper = op;<br>
num = myform.num.value*1;<br>
isClickOper = true;<br>
}</p>

<pre><code> //得到结果
function getCount(){
if(oper != &quot;&quot;){
if(oper == &quot;+&quot;){
num = num + myform.num.value*1
}else if(oper == &quot;-&quot;){
num = num - myform.num.value*1
}else if(oper == &quot;*&quot;){
num = num * myform.num.value*1
}else if(oper == &quot;/&quot;){
if(myform.num.value == 0){
num =&quot;除数不能为0&quot;}else{
num = num / myform.num.value*1
}
}else if(oper == &quot;%&quot;){
num = num % myform.num.value*1
}
myform.num.value = num;
}
}

//添加小数点
function addPoint(){
if(!isClickPoint){//判断是否点击过小数点
myform.num.value += &quot;.&quot;;
isClickPoint = true;
}
}
//清楚
function cc(){
myform.num.value = &quot;0&quot;;
isClickOper = false;
isClickPoint = false;
num = 0;
oper=&quot;0&quot;;
}
//删除
function del(){
var nowNum = myform.num.value;
if(nowNum.length==1){
myform.num.value = &quot;0&quot;;
}else{
myform.num.value = nowNum.substr(0,nowNum.length-1)
}
}

&lt;/script&gt;
&lt;!--鼠标进入默认按下放开样式--&gt;
&lt;style&gt;
#ceng{width:440px;height:500px;background:#323850;}
.jr{background-Image:url('jr.png')}
.mr{background-Image:url('mr.png')}
.ax{background-Image:url('ax.png')}
.fk{background-Image:url('fk.png')}
table{position:relative;top:30px;}
&lt;/style&gt;
&lt;/head&gt;

&lt;body bgcolor=&quot;green&quot;&gt;
&lt;center&gt;
&lt;form id=&quot;myform&quot;&gt;
&lt;div onmousemove=&quot;mouseMove()&quot; &gt;
&lt;div onmousedown=&quot;mouseDown()&quot; onmouseup=&quot;mouseUp()&quot; id=&quot;ceng&quot; style=&quot;top:80px;left:300px;position:absolute;cursor:&quot;&gt;&lt;font size=&quot;7&quot;&gt;简易计算器&lt;/font&gt;
&lt;table border=&quot;1&quot; width=&quot;422px&quot; height=&quot;360px&quot; align=&quot;center&quot;&gt;
&lt;tr&gt;
&lt;td colspan=&quot;4&quot;&gt;
&lt;input id=&quot;num&quot; type=&quot;text&quot; onfocus=&quot;blur()&quot; value=&quot;0&quot;/&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;input id=&quot;bt1&quot; type=&quot;button&quot; value=&quot;1&quot; onclick=&quot;addNum(1)&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt2&quot; type=&quot;button&quot; value=&quot;2&quot; onclick=&quot;addNum(2)&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt3&quot; type=&quot;button&quot; value=&quot;3&quot; onclick=&quot;addNum(3)&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt10&quot; type=&quot;button&quot; value=&quot;+&quot; onclick=&quot;setOper('+')&quot;/&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;input id=&quot;bt4&quot; type=&quot;button&quot; value=&quot;4&quot; onclick=&quot;addNum(4)&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt5&quot; type=&quot;button&quot; value=&quot;5&quot; onclick=&quot;addNum(5)&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt6&quot; type=&quot;button&quot; value=&quot;6&quot; onclick=&quot;addNum(6)&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt11&quot; type=&quot;button&quot; value=&quot;-&quot; onclick=&quot;setOper('-')&quot;/&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;input id=&quot;bt7&quot; type=&quot;button&quot; value=&quot;7&quot; onclick=&quot;addNum(7)&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt8&quot; type=&quot;button&quot; value=&quot;8&quot; onclick=&quot;addNum(8)&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt9&quot; type=&quot;button&quot; value=&quot;9&quot; onclick=&quot;addNum(9)&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt12&quot; type=&quot;button&quot; value=&quot;*&quot; onclick=&quot;setOper('*')&quot;/&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;input id=&quot;bt0&quot; type=&quot;button&quot; value=&quot;0&quot; onclick=&quot;addNum(0)&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt13&quot; type=&quot;button&quot; value=&quot;.&quot; onclick=&quot;addPoint()&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt14&quot; type=&quot;button&quot; value=&quot;%&quot; onclick=&quot;setOper('%')&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt15&quot; type=&quot;button&quot; value=&quot;/&quot; onclick=&quot;setOper('/')&quot;/&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;input id=&quot;bt16&quot; type=&quot;button&quot; value=&quot;C&quot; onclick=&quot;cc()&quot;/&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;input id=&quot;bt17&quot; type=&quot;button&quot; value=&quot;←&quot; onclick=&quot;del()&quot;/&gt;
&lt;/td&gt;
&lt;td colspan=&quot;2&quot;&gt;
&lt;input id=&quot;bt18&quot; type=&quot;button&quot; value=&quot;=&quot; onclick=&quot;getCount()&quot;/&gt;
&lt;/td&gt;

&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/form&gt;
&lt;/center&gt;
&lt;/body&gt;

&lt;script src=&quot;src/js/jsq.js&quot;&gt;&lt;/script&gt;
</code></pre>

<p></html></p>

解决方案

<!--
function operation(flag)
{
fl = flag;
switch(flag)
{
case "+":
doAdd();break;
case "-":
doMinus();break;
case "*":
doMultiply();break;
case "/":
doDivide();break;
}
}
var num1;
var num2;
var isPass = true;
var result;

var fl;
function getValue()
{
    isPass  =true;
    num1 =document.getElementById("txtNum1").value;
    num2 = document.getElementById("txtNum2").value;
    result = document.getElementById("txtResult");
    checkVal();
}
function checkVal()
{
   if(num1=="" || num2=="")
   {
        alert("不能为空");
        isPass =  false;
   }else
   {
        if(num1!=0)
        {
            if(!Number(num1))
            {
                isPass = false;
            }
        }
        if(fl=="/")
        {
            if(num2 == 0)
            {
                alert("除数不能为0");
                isPass = false;
            }
        }
        if(fl!="/"){
        if(num2!=0){
        if(!Number(num2))
        {
            alert("请输入数字");
            isPass = false;
        }
        }
        }

   }

}
//加法
function doAdd()
{
   getValue();
   if(isPass)
   {
       result.value =Number(num1)+Number(num2);
   }
}
//减法
function doMinus()
{
 getValue();
   if(isPass)
   {
       result.value =Number(num1)-Number(num2);
   }
}
//乘法
function doMultiply(){
 getValue();
   if(isPass)
   {
       result.value =Number(num1)*Number(num2);
   }
}
//除法
function doDivide(){
    getValue();
   if(isPass)
   {
       result.value =Number(num1)/Number(num2);
   }
}
function clearValue()
{
    document.getElementById("txtNum1").value = "";
    document.getElementById("txtNum2").value = "";
    document.getElementById("txtResult").value = "";
}

// -->/mce:script

时间: 2024-11-01 11:59:46

javascript-JS写的简单计算器 求 连续加减乘除代码的相关文章

javascript-求 JS写的简单计算器中 按键控制长度的代码

问题描述 求 JS写的简单计算器中 按键控制长度的代码 我的意思是 计算器 进行加减乘除 按数字比如123456789 我只要求按出 5位数 按12345后面的就按不出来了 不能超过5位数 后面再按就限制 这样怎么做 如何写这样的代码 求大神告知 解决方案 function addNum(n) { var nowNum = myform.num.value; if (nowNum == ""0"") { myform.num.value = n } else if(

javascript-求JS写的计算器 进行连续加减乘除的代码

问题描述 求JS写的计算器 进行连续加减乘除的代码 我的计算器代码如下 就是不能连续加减乘除 求具体代码 本人新手 求详细点 JiSuanQi <!-- 移动层外部JS文件 --> <br> var oper = ""<br> var isClickOper = false//是否点击了运算符<br> var num = 0;<br> var isClickPoint = false;//是否点击了小数点<br>

js编写当天简单日历效果【实现代码】_javascript技巧

之前一直很想用javascript写一个日历,但是因为完全没有好的思路, 所以迟迟没有尝试.最近在网上刚好看到用javascript编写的简单日历的例子,代码量虽然不大, 但是我觉得很好地阐述了js日历的实现原理.自己也尝试着做了一下,收获蛮大,掌握了基本的实现原理后,再想增加更多的功能,完全就可以自由发挥了,先在这里分享一下吧,有兴趣的可以试试! 一.表格行数问题 既然要显示日期表格的话,首先得知道这个表格有多少行多少列,列数是已经确定的,从星期天(日历上第1列是星期天)到星期六一共7列.要解

c语言-参照网上,自己改用链栈写了个表达式求值的代码出现的问题

问题描述 参照网上,自己改用链栈写了个表达式求值的代码出现的问题 这个代码可以编译运行,但是输入值进行计算的时候就会停止工作 附上代码: 附上代码求指导: #include #include typedef struct rope { char date; struct rope next; } node,*pnode; typedef struct rope2 { char date; struct rope2 *next; } nodes,*pnodes; typedef struct a

js编写一个简单的产品放大效果代码_javascript技巧

购物网站的产品页经常会放有一个产品展示图区.该图区有一个功能就是产品图的放大功能,移动左侧的焦点区域,可以放大细节部分观看,详情如下图.实现该功能的方法也非常简单.   实验:制作产品焦点放大图. 所需技能: 1.基本的获取页面元素的方法: 2.几个简单的事件: 3.会使用dom设置元素的属性: 案例原理: 1.焦点框的跟随鼠标事件: 2.焦点框的移动区域规定: 3.大盒子内容的显示: 适合对象:js初学者 --------------------------------------------

JS实现自定义简单网页软键盘效果代码_javascript技巧

本文实例讲述了JS实现自定义简单网页软键盘效果.分享给大家供大家参考,具体如下: 这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学习,希望对您有用处. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-simple-web-keybord-style-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C/

js实现的简单radio背景颜色选择器代码_javascript技巧

本文实例讲述了js实现的简单radio背景颜色选择器.分享给大家供大家参考.具体如下: 这里演示的js实现radio网页背景颜色选择器,只需点击对应颜色的radio单选框,就可以改变网页的背景颜色,简单方便,实用的javaScript网页特效. 运行效果如下图所示: 在线演示地址如下: http://demo.jb51.net/js/2015/js-radio-cha-bgcolor-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHT

用JS写的简单的计算器实现代码_javascript技巧

etongchina@gmail.com

求助……关于简单计算器的连续运算问题

问题描述 如何进行连续运算?就像1+3-2这样--这个只能实现两位数的运算--是不是要把运算那部分改为switchcase形式?求大神帮忙OJZZZZZZZZZZzusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespacecalculat