问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用HTML 做这样一个计算器,怎么编写javascript的部分。

发布网友 发布时间:2022-05-16 23:50

我来回答

3个回答

热心网友 时间:2023-09-15 07:16

试试这段代码
<script language=JavaScript>

var opStack = new Array(4)
opStack[0] = 0
opStack[1] = ''
opStack[2] = ''
opStack[3] = ''

function StartCal(){
document.PAD.SUM.value= "0"
}

function KeyinNum() {
if (opStack[0] >= 2) { opStack[0] = 3 }
else { opStack[0] = 1 }
opStack[opStack[0]] = '' + document.PAD.SUM.value
}

function resetNum () {
opStack[0] = 0
opStack[1] = 0
document.PAD.CAL.value = ''
document.PAD.SUM.value = '0'
}

function calc1 (x) {
var opFlag = opStack[0]
if (opFlag == -1 || opFlag == 1) { count(x) }
else if (opFlag == 3) {
opStack[1] = '' + eval(opStack[1] + opStack[2] + opStack[3])
count(x) }
}

function count (x) {
if (x == 'Si') { opStack[1] = '' + Math.sin (opStack[1]) }
else if (x == 'aS') { opStack[1] = '' + Math.asin(opStack[1]) }
else if (x == 'Co') { opStack[1] = '' + Math.cos (opStack[1]) }
else if (x == 'aC') { opStack[1] = '' + Math.acos(opStack[1]) }
else if (x == 'Ta') { opStack[1] = '' + Math.tan (opStack[1]) }
else if (x == 'aT') { opStack[1] = '' + Math.atan(opStack[1]) }
else if (x == '≡') { opStack[1] = '' + Math.pow (opStack[1],.5) }
else if (x == '^2') { opStack[1] = '' + Math.pow (opStack[1], 2) }
else if (x == '^3') { opStack[1] = '' + Math.pow (opStack[1], 3) }
else if (x == '^4') { opStack[1] = '' + Math.pow (opStack[1], 4) }
else if (x == 'AB') { opStack[1] = '' + Math.abs (opStack[1]) }
else if (x == '∽') { }
document.PAD.CAL.value = ''
opStack[0] = -1
display()
document.PAD.SUM.focus()
document.PAD.SUM.select()
}

function display () {
var sum = parseFloat(opStack[1])
document.PAD.SUM.value = '' + Math.round (sum * Math.pow(10,14)) / Math.pow(10,14)
}

function fra(){
var i
var j = 1
var k = document.PAD.SUM.value
if (k >= 70) {opStack[1] = 0; document.PAD.SUM.value = "---Error---"; return}
for (i = 1; i <= k; i++){j = j * i}
opStack[1] = document.PAD.SUM.value = j
document.PAD.SUM.focus()
document.PAD.SUM.select()
}

function entry (x) {
if (opStack[0] == -1) { opStack[0] = 1; opStack[1] = ''}
if (opStack[0] == 0) { opStack[0] = 1; opStack[1] = ''}
if (opStack[0] == 2) { opStack[0] = 3; opStack[3] = ''}
var result = result = opStack[opStack[0]]
if (result == '0') { result = '' }
if (x>='1' && x<='9') { result = '' + result + x }
else if (x == 'P') { result = '' + Math.PI }
else if (x == '0') { if (result != '') result = '' + result + '0' }
else if (x == 'B') { if (result != '') result = result.substring(0, result.length - 1) }
else if (x == '.') {
if (result != '') { if (result.indexOf(".") == -1) result += "." }
else { result = '0.' } }
if (result =='') result = '0'
opStack[opStack[0]] = result
document.PAD.SUM.value = result
}

function calc2 (x) {
var opFlag = opStack[0]
if (opFlag != 2) {
if (opFlag == 3) {
opStack[1]=''+eval(opStack[1]+opStack[2]+opStack[3])
display() }
opStack[0] = 2
opStack[2] = x
document.PAD.CAL.value = x
document.PAD.SUM.focus()
document.PAD.SUM.select() }
}

function neg() {
if (opStack[0] != 2 && opStack[0] != 0) {
opStack[0] = Math.abs(opStack[0])
var result = opStack[opStack[0]]
if (result != '0' && result != '') {
if (result.charAt(0) == '-') { result = result.substring(1, result.length) }
else { result = '-' + result }
opStack[opStack[0]] = result
document.PAD.SUM.value = result } }
}

function TurnOff(){
var ask = confirm("您确定要关闭计算器么?")
if (ask == true) {window.close()}
else {return}
}

</script>
<FORM NAME="PAD">
<TABLE BORDER>
<TR><TD COLSPAN=8>
<INPUT NAME="CAL" TYPE="TEXT" SIZE=1 VALUE="">结果:
<INPUT NAME="SUM" TYPE="TEXT" SIZE=16 VALUE="" onChange="KeyinNum()">
<TR>
<TD><INPUT TYPE="BUTTON" VALUE="重置" onClick="resetNum()">
<TD><INPUT TYPE="BUTTON" VALUE="开方" onClick="calc1('≡')">
<TD><INPUT TYPE="BUTTON" VALUE="平方" onClick="calc1('^2')">
<TD><INPUT TYPE="BUTTON" VALUE="X !" onClick="fra()" >
<TR>
<TD><INPUT TYPE="BUTTON" VALUE=" 7 " onClick="entry('7')">
<TD><INPUT TYPE="BUTTON" VALUE=" 8 " onClick="entry('8')">
<TD><INPUT TYPE="BUTTON" VALUE=" 9 " onClick="entry('9')">
<TD><INPUT TYPE="BUTTON" VALUE=" * " onClick="calc2('*')">
<TR>
<TD><INPUT TYPE="BUTTON" VALUE=" 4 " onClick="entry('4')">
<TD><INPUT TYPE="BUTTON" VALUE=" 5 " onClick="entry('5')">
<TD><INPUT TYPE="BUTTON" VALUE=" 6 " onClick="entry('6')">
<TD><INPUT TYPE="BUTTON" VALUE=" / " onClick="calc2('/')">
<TR>
<TD><INPUT TYPE="BUTTON" VALUE=" 1 " onClick="entry('1')">
<TD><INPUT TYPE="BUTTON" VALUE=" 2 " onClick="entry('2')">
<TD><INPUT TYPE="BUTTON" VALUE=" 3 " onClick="entry('3')">
<TD><INPUT TYPE="BUTTON" VALUE=" - " onClick="calc2('-')">
<TR>
<TD><INPUT TYPE="BUTTON" VALUE=" 0 " onClick="entry('0')">
<TD><INPUT TYPE="BUTTON" VALUE=" . " onClick="entry('.')">
<TD><INPUT TYPE="BUTTON" VALUE="+/-" onClick="neg()" >
<TD><INPUT TYPE="BUTTON" VALUE=" + " onClick="calc2('+')">
<TR>
<TD><INPUT TYPE="BUTTON" VALUE="关闭" onClick="TurnOff()">
<TD><INPUT TYPE="BUTTON" VALUE="后退" onClick="entry('B')">
<TD><INPUT TYPE="BUTTON" VALUE=" Pi "onClick="entry('P')">
<TD><INPUT TYPE="BUTTON" VALUE=" = " onClick="calc1('=')" >
</TABLE>
</FORM>

热心网友 时间:2023-09-15 07:16

<script>
function $(id){
return document.getElementById(id);
}

function doAdd(){
$("c3").value = Number($("c1").value) + Number($("c2").value);
}

function doSub(){
$("c3").value = Number($("c1").value) - Number($("c2").value);
}

function doMultiply(){
$("c3").value = Number($("c1").value) * Number($("c2").value);
}

function doDivision(){
if(Number($("c2").value)==0){
alert("除数不能为0");
$("c2").value = "";
$("c3").value = "";
} else {
$("c3").value = Number($("c1").value) / Number($("c2").value);
}
}

</script>
<form name="a1">
<p>第一个数:<input type="text" name="c1" id="c1"/>
<p>第二个数:<input type="text" name="c2" id="c2"/>
<p>
<input type="button" name="b1" value=" + " id="b1" onclick="doAdd();"/>
<input type="button" name="b2" value=" - " id="b2" onclick="doSub();" />
<input type="button" name="b3" value=" * " id="b3" onclick="doMultiply()" />
<input type="button" name="b4" value=" / " id="b4" onclick="doDivision();"/>
<p>
计算看看:
<input type="text" name="c3" id="c3"/>
</form>

热心网友 时间:2023-09-15 07:17

我用你的代码改的,你试试

<html>
<head>
</head>
<body>
<script language="JavaScript">
function Calculation(obj) {
var d1 = document.getElementsByName("c1")[0];
var d2 = document.getElementsByName("c2")[0];
document.getElementsByName("c3")[0].value = eval(d1.value + obj.value + d2.value);
}
</script>
<form name="a1">
<p>第一个数:<input type="text" name="c1" />
<p>第二个数:<input type="text" name="c2" />
<p>
<input type="button" name="b1" value=" + " onclick="Calculation(this);" />
<input type="button" name="b2" value=" - " onclick="Calculation(this);" />
<input type="button" name="b3" value=" * " onclick="Calculation(this);" />
<input type="button" name="b4" value=" / " onclick="Calculation(this);" />
<p>计算看看:<input type="text" name="c3" />
</form>
</body>
</html>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 说某个粒子动能为多少kT,k表示什么? HTML敲出一个计算器 为什么我敲不出来 平均动能是总功能除以什么得到的? 物理中动能定理的Ek中的k是什么意思? 分子的平均动能公式E=(ikT)/2中的K代表什么? 分子平均动能公式3/2kT中的k是什么? 新加坡比较承认日本名古屋大学的经济学博士学历,还是比较承认日本早稻田大学的商学博士学历? 去名古屋做博士后,需要注意哪些 请在名古屋大学工学院的前辈告诉我工学院博士前期课程每年只有4月开学么? 想要申请名古屋大学的文学部的博士,需要什么条件 拿名古屋大学的博士学位值钱吗 名古屋大学博士回国 名古屋大学留学 自煮奶茶的做法步骤图,自煮奶茶怎么做好吃 加纤peek棒的作用及用途 PEEK轴承保持架什么颜色 聚醚醚酮 求PEEK(聚醚醚酮)的结构,一个酮键合两个醚键怎么组合起来的啊,吧化学结构式发给我吗?ineedd@163.com PEEK棒 最权威的 excel数据 以2为底n次方形式显示? 分子平均动能与什么有关 女人应该怎么做才能让男人离不开呢? 如何做一个让男人离不开你的女人 怎样成为让男人离不开的女人,需要注意什么? 怎样做才能成为一个让男人离不开的女人? 如何做一个让男人离不开的女人?_ 做一个什么样的女人才能让男人离不开? 结婚后,如何成为让男人离不开的女人? 我喜欢化学和生物,我应该选什么专业? *进项税额有余额,销项没有余额,年底如何结转*呢? 怎么做让男人离不开女人 进项税额是加进项税额转出还是减 如何成为一个让男人离不开的女人 我对生物感兴趣,读什么专业好呢? 想要让自己变成男人离不开的女人,该做好哪些呢? 准予抵扣的进项税额在计算增值税时是加上还是减去 读生物可以选什么专业? 如果我对化学和生物比较感兴趣我应该选择什么专业 老师,我们这个月有一张进项税额转出,是不是加计抵减进项税额的时候,是要扣除这个金额再算,对吗? 大学里有哪些专业跟生物有关的,学生物方面的以后可以选择什么职业?