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

用js写一个计算器,具备输入限制(不能连续输入运算符等),连等的功能...

发布网友 发布时间:2022-05-05 08:45

我来回答

1个回答

热心网友 时间:2022-04-25 16:07


<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>Calaulate~</title>

<style>

* {

padding: 0;

margin: 1px;

}

#calculate {

margin: auto;

margin-top: 10px;

border: solid 6px dimgrey;

border-spacing: 0px;

}

#display {

width: 100%;

height: 30px;

border-bottom: solid 4px darkgray;

font-weight: bold;

color: #gray;

font-family: 黑体;

padding-left: 2px;

}

#equal {

cursor: pointer;

width: 40px;

height: 100%;

background: dimgrey;

border: solid 1px #FFFFFF;

color: #ffffff;

text-align: center;

font-weight: bold;

font-family: 黑体;

}

.numberkey {

cursor: pointer;

width: 40px;

height: 30px;

border: solid 1px #FFFFFF;

background: gray;

color: #ffffff;

text-align: center;

font-weight: bold;

font-family: 黑体;

}

.numberkey:hover{

background: #696969;

}

#equal:hover{

background: lightgrey;

}

</style>

</head>

<body>

<table id="calculate" onclick="calculater()">

<tr>

<td id="display" colspan="5">0</td>

</tr>

<tr>

<td class="numberkey">1</td>

<td class="numberkey">2</td>

<td class="numberkey">3</td>

<td class="numberkey">+</td>

<td class="numberkey" onclick="del()">C</td>

</tr>

<tr>

<td class="numberkey">4</td>

<td class="numberkey">5</td>

<td class="numberkey">6</td>

<td class="numberkey">-</td>

<td rowspan="3" id="equal" onclick="resCal()">=</td>

</tr>

<tr>

<td class="numberkey">7</td>

<td class="numberkey">8</td>

<td class="numberkey">9</td>

<td class="numberkey">*</td>

</tr>

<tr>

<td class="numberkey">+/-</td>

<td class="numberkey">0</td>

<td class="numberkey">.</td>

<td class="numberkey">/</td>

</tr>

</table>

</body>

<script>

var results = "";

var calres = "";

function calculater(){

if(event.srcElement.innerText=="="){

return;

}

if(event.srcElement.innerText=="C"){

del();

display.innerText="0";

return;

}

results += event.srcElement.innerText;

display.innerText = results;

}

function resCal(){

calres=eval(results);

display.innerText = calres;

results = calres;

}

function del(){

results = "";

display.innerText = "";

}

</script>

</html>

比较简易,你可以自己修改一下,加减乘除都可以!

追问谢谢你的回答!但是我主要想问的是怎么实现连等的功能以及*输入 连等:比如输入1+2,按下=得到结果为3,然后再次点击=,得到结果为5,依次为7,9,11......
*输入:比如只能输入一个1+2,而不能输入1+++++2,或者1+-2等等不符合逻辑的输入;以及只能输入1.2,0.2,而不能输入1.....2,0........3这类似的情况
请问有什么高见吗?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见老婆光脚踩谷子 王者荣耀国服中,不论进入游戏还是没开始游戏,所有玩家发送的任何消息... 我的滴滴开空调活动怎么没了 为什么腾讯视频显示还是要流量看 没有联通中国结标志 电脑不能装win7买电脑时他们说只能装win10系统不能装win7 英雄联盟手游 手机lol游戏盒子现在叫什么? 英雄联盟手机盒子看不了比赛记录 手游英雄联盟视频在哪里看手机英雄联盟盒子在哪看我游戏中录的视频 英雄联盟盒子看视频只有声音没有画面,不是网速的问题,也不是电脑卡,是... 为什么英雄联盟盒子没发看视频 求高手帮忙,用javascript脚本语言编写个最简单的计算器,如图所示 做一个简易js计算器? 斐讯健康连接不上 大秦娱乐——剑灵怎么遁地 穿越火线如何遁地,要详细的 《和平精英》躲猫猫大作战怎么玩? 星际争霸2蟑螂怎么遁地 火线精英躲猫猫模式怎么遁地? 怎么遁地??? 为什么华为手机玩九阴游戏不能切换账号 同僚和同仁有什么区别? 同仁是什么意思?和同事有何区别? 同仁是何意思 同仁和同事那个好 同志与同仁的区别 同僚和同仁有什么区别 同仁一般用在什么场合? 同事和同行的区别 同事和同仁有什么区别吗? 全体同仁和全体同事的区别 什么叫USBKey? UsbKey是个什么东东 电脑上的时间如何调整 经常使用电脑要注意什么 电脑上显示的时间怎么调整啊? 雷州市天品有限公司怎么样? 哪一种蚊香最安全? 蝇香点燃半个小时后苍蝇全落地上死了,蝇香的原理是什么? 电话手表卡过了保号期是什么意思? 浪琴手表过了保修期后面所有的维修费用都是自己承担吗 天梭手表过保修期了可以到售后维修吗 手表全国联保什么意思 手表2+2保修是指什么? 美度机械表过保了,不走了,八千多买的扔了可惜,有收的吗? 手表保修期大概多久啊? 手表保修范围包括手表链吗? 消防申请验收备案用的《工程竣工验收总结》怎么写啊 工程竣工总结怎么些??格式是什么样的?? PPT模板后边全是点儿是怎么回事儿? 谁有&lt;消防竣工验收会议总结讲稿&gt;有的发给我好么急 急急 急啊 求!消防工程竣工报告