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

html网页计算器代码怎么写?

发布网友 发布时间:2022-05-01 00:23

我来回答

3个回答

热心网友 时间:2022-04-19 06:49

html网页计算器代码编写过程如下:

1.首先我们要做好一个计算器的界面,主要用到html与css的知识,下面是代码

<table id="calculater" 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"  id="deletesign">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="equality" onclick="resultscalcaulte()">=</td> 

</tr>

<tr>

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

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

<td class="numberkey" >7</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表格,主要内容是计算器的数字键盘和符号,还有就是class名和ID名,函数名,主要是用作css样式设计和javascript程序设计,后面会用到,就先贴出来了

colspan="5" 是合并五列的意思,表示这个单元格要占五列

rowspan="3"是合并三行的意思,表示这个单元格要占三行

效果如下,这样一个简单的架构就完成了

2.接下来就是css的设计,下面是代码

*{

padding:0;

margin:1px;

}

#calculater{

margin: auto;

margin-top: 30px;

border: solid 6px #2371D3;

border-spacing: 0px;

}

#display{

width: 100%;

height: 30px;

border-bottom: solid 4px #2371D3;

font-weight: bold;

color: #193D83;

font-family: 黑体;

padding-left: 2px;

}

.numberkey{

cursor: pointer;

width: 40px;

height: 30px;

border: solid 1px #FFFFFF;

background: #2371D3;

color: #ffffff;

text-align: center;

font-weight: bold;

font-family: 黑体;

}

#equality{

cursor: pointer;

width: 40px; 

height: 100%;

background: #2371D3;

border: solid 1px #FFFFFF;

color: #ffffff;

text-align: center;

font-weight: bold;

font-family: 黑体; 

}

.numberkey:hover{

background: #EA6F30; 

}

#equality:hover{

background: #EA6F30; 

}

以上是css代码,比较简单

border-spacing: 0px;

这里代码的意义是:table中单元格与单元格,表格边缘都有默认距离,这里border-spacing: 0px;能使其默认距离为零,没有这句会比较难设计好看的样式。

cursor: pointer;

这里代码的意义是:使鼠标放在上面时变成一个手的标志

效果如下

3.接下来是javascript的代码,按照思路来一点点写

首先我们要设计,当鼠标点击某个单元格时我们能获取这个单元格上的内容,即数字或符号

所以我们在table标签里加上onClick="calculater()",添加一个点击事件

然后用event.srcElement.innerText获取单元格上的内容,event是事件的意思,在这里这个事件当然是点击了,srcElement就是事件的元素,在这里是被点击的单元格,innerText是获取这个单元格的内容。

这里我们就可以写出这个函数第一行代码,获取被点击的单元格的内容

function calculater(){

results=event.srcElement.innerText;

}

results就是单元格的内容

4.当然获取了什么要显示在第一个单元格那里,这里我们还是用innerText,来输出这个点击的值

display.innerText=results;

这里代码的意义是:display是第一格单元格的id,就是在第一行显示你点击了什么

calculater()的代码就变成这样

function calculater(){

results=event.srcElement.innerText;

display.innerText=results; 

}

这样我们就能输出我们点击的单元格内容

5.但这样我们只能输出一次单击的内容,为了把内容串起来,我们把代码改为

var results="";

function calculater(){

results+=event.srcElement.innerText;

display.innerText=results; 

}

设置results为全局变量,event.srcElement.innerText用+=累加进results,

这样我们就能输入并显示一条算式

6.我们在“=”单元格标签里加上onClick="resultscalcaulte()",计算这个结果

function resultscalcaulte(){

calresults=eval(results);

display.innerText=calresults;

}

eval();能运行括号里的javascript语句的字符串,并返回其值,如果results等于7+8,那eval就会计算7+8,并返回56,然后后面一条代码把56显示出来

7.加入上面的运算后,还是无法显示结果,原因是点击“=”单元格会先触发resultscalcaulte()函数,再触发calculater()函数,所以我们在resultscalcaulte()得到的结果就被calculater()的结果覆盖了,我们需要再在calculater()里加上

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

return;

}

使点击“=”单元格触发的calculater()函数得不到任何结果

最后得到最简单的计算器运算代码

var results="";

var calresults="";

function calculater(){

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

return;

}

results+=event.srcElement.innerText;

display.innerText=results;

}

function resultscalcaulte(){

calresults=eval(results);

display.innerText=calresults;

}

8.下面是计算7*8的结果

热心网友 时间:2022-04-19 08:07

我这里有一个现成的,自己再改一下吧(

会说话的QQ竞拍喽!</fo

竟拍价?

购买数量:

预计总价:

<INPUT name="getAnswer" TYPE="button" id="getAnswer" onClick="calcu()"
value="计算看看"><!--单机鼠标调

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
草青青,青青草,草上接谢珍珠宝,怕日晒怕风摇,摇看珍珠得起早 谜底是... 一加9R要不要升级ColorOS 13正式版 一加9pro怎么coloros12一加9pro升级coloros12的方法 coloros12支持哪些一加机型?coloros12支持一加机型介绍 一加9pro如何coloros12?一加9pro升级coloros12的方法 一加9pro升级coloros12拍照改善吗 我是一个高中生,职教的,我们班上有5个女生,我喜欢有一个,但追她又有... 自动挡d挡旁边的 -是什么意思? 自动挡位上的加减是什么意思? 宣传这个职位是干什么的 梦见上楼梯就看见很多粉色的树 在一个4kh的高通电子滤波器后接入一个4kh的低通滤波器有什么效果 台州高通电子商务有限公司怎么样? 成都市高级工程师职称任职资格时间如何算 合肥高通电子科技有限公司怎么样? JNY一AL10型号的设备名称是什? 金华市高通电子厂怎么样? Nova6和 JNY-AL10是同一款吗? 请问这个肺部CT检查报告是什么意思? 公孙离新皮肤怎么买 公孙离新皮肤会进入王者水晶 王者荣耀公孙离夏日皮肤怎么获得 公孙离新皮 妇科检查报告单 请问医院检验报,阴性是什么阳性。又是什么了,那个好那个坏了,请问一下 王者荣耀公孙离新史诗皮肤大概多少钱呐! 请问医院检验报告单,阴性是什么阳性。又是什么了,那个好那个坏了,请问一下 乙肝检查报告什么意思? 医院检查报告ca125ca153ca199结果分别是15.6 6.0 0.8是什么意思 王者荣耀公孙离新皮肤花多少钱 点券价格 关于医院的检查报告,请专家分析一下 CT检查报告显示的是什么 社区里购买的保险叫什么保险?一年才交1百多块钱? 社区交的保险属于什么 社区可以缴什么保险 如何认识金融业标准,中国再实施这些标准时应该持什么态度 请问在社区里购买的社保是属于哪一类保险 银行分行支持基础金融服务“村村通”经验汇报 沈阳市灵活就业人元在社区每年交的360元是什么保险? 社区交保险怎么办理 如何处理好集团公司对其上市子公司的管控? 关于集团管控案例 由小区居委会参保的保险叫什么 谁是集团管控第一人 集团管控下,央企集团与股份公司合署办公如何实现,实现的形式及优劣势有哪些,如何规避上市公司的监管风 上市企业总部管控下属公司是注册分公司好还是子公司好 对国有上市公司特殊管控的探讨 集团管控体系下,央企集团公司法人治理与单体上市公司的法人治理有何区别,如何实现? 你好,看了下你对多元化集团信息化的看法,还是比较合理,我想请教下,你对 集团该如何对下属上市公司 集团管控最专业的讲师是谁? 企业上市的战略管理如何进行? 家用车以便宜大空间为主,这三款都是大车厢,油耗低养车负担不重