这篇文章主要为大家详细介绍了射流研究…版实现计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了射流研究…实现计算器功能的具体代码,供大家参考,具体内容如下
在老师的带领下完成了这个简单的计算器,这是一个神奇的过程,计算器的基本功能都是有的。虽然是个简单的计算器,但对初学者来说,还是需要强大的逻辑判断能力,里面有很多的条件,作为开发者要不断的寻找设计里的bug,不断地完善用户的需求,而这些都需要清晰的逻辑推理和判断,我有点头大了。
!文档类型超文本标记语言
超文本标记语言
头部语言
meta charset=UTF-8
标题计算器/标题
风格
*{
填充:0;
边距:0;
}
表格{
宽度:400像素
边距:自动;
边框:1px纯银;
边框-塌陷:塌陷;/*列与列的间距*/
}
td {
宽度:100像素
边框:1px固体# 525252
}
(美)财政部(Treasury Department)输入{
宽度:98.7%;
高度:60px
大纲:无;
文本对齐:右对齐;
字体大小:20px
背景:rgba(251,255,227,0.81);
}
(美)财政部(Treasury Department)按钮{
宽度:100%;
高度:60px
字体大小:22px
背景:rgba(223,255,243,0.81);
}
/风格
/头
身体
桌子
tr
td colspan=4 输入id= text type= text value= 0 //TD
/tr
tr
2 button class= BTN del/button/TD
BTN c/button/TD
/tr
tr
tdbutton class=btn9/button/td
tdbutton class=btn8/button/td
tdbutton class=btn7/button/td
tdbutton class=btn /button/td
/tr
tr
tdbutton class=btn6/button/td
tdbutton class=btn5/button/td
tdbutton class=btn4/button/td
tdbutton class=btn-/button/td
/tr
tr
tdbutton class=btn3/button/td
tdbutton class=btn2/button/td
TD按钮class=" BTN " 1/按钮/TD
tdbutton class=btn*/button/td
/tr
tr
tdbutton class=btn0/button/td
tdbutton class=btn ./button/td
tdbutton class=btn=/button/td
tdbutton class=btn//button/td
/tr
/表格
!- span id=m8/span -
脚本
/* var M=文档。getelementbyid( M );
控制台。log(m . innerhtml);
控制台。日志(m . innertext);*/
//获取按钮
var button al=文档。getelementsbyclassname( BTN );
var textal=document。getelementbyid(“text”);
var RES=[];//定义一个数组存储输入的值
var label=false
for(var I=0;ibuttonal.lengthi ){
按钮[i].onclick=addclick
函数addclick(){
//输入为数字或者为"."
如果(!伊斯南(这个。innerhtml)| |这个。innerhtml==,){
//文本框初值不为0
标签=真
if(textal.value!==0){
//文本框中含有"."
if(textal.value.indexOf( . )))!==-1){
//处理点重复的问题文本框里面有点不上去点(用户按的数字得加用户按的是点不加)
//输入.时
如果(this.innerHTML!==.){
textal。价值=这个。innerhtml
}
}
否则{
textal。价值=这个。innerhtml
}
}
//文本框初值为0
否则{
if(this.innerHTML== . ){
textal。value= 0 this。innerhtml
}
否则{
textal。价值=这个。innerhtml
}
}
}
//非数字
否则{
开关(this.innerHTML ) {
案例"":保存(此);
打破;
大小写-:保存(这个);
打破;
案例/:保存(本);
打破;
案例 * :保存(这个);
打破;
大小写"=":
资源推送(文本。值);
var result=eval(RES . join());
if(result==Infinity){
remove _ add( remove );
}
textal.value=result==Infinity?除数不能为零:结果;
//控制台。log(RES . join());
RES=[];
打破;
案例“德尔”:
//从后往前一个一个的减数字substr(开始,计数)子串(开始,结束)结束不取
textal。值=文本。价值。长度==1?“0”:textal . value . substr(0,textal。价值。长度-1);
打破;
案例“c”:
textal。value=" 0
RES=[];
remove _ add( add );
打破;
}
}
}
}
功能保存(迷你){
//清屏之前存储用户按的值
//确认一个条件用户是连续按符号还是数字符号
如果(!标签){ //连续两次按符号时
分辨率[分辨率长度-1]=最小。innerhtml//第二次按的符号替代第一次的
}
否则{
资源推送(文本。值);
研究推动(迷你。innerhtml);
}
textal。value=" 0
标签=假;
}
//卸载除c以外的所有元素的事件
函数remove_add(p){
for(var I=0;ibuttonal.lengthi ){
if(p==add){
按钮[i].onclick=addclick
}
否则{
if(buttonal[i].innerHTML!=c){
按钮[i].onclick=null
}
}
}
}
/脚本
/body
/html
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。