这篇文章主要介绍了微信小程序 简易计算器实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
只能进行简单的运算
效果图如下:
cal.wxml
<view class=\"screen\">{{result}}</view> <view class=\"content\"> <view class=\"buttonGroup\"> <button id=\"{{id1}}\" bindtap=\"clickButton\" class=\"buttonitem color1\" hover-class=\"shadow\">清除</button> <button id=\"{{id2}}\" bindtap=\"clickButton\" class=\"buttonitem color1\" hover-class=\"shadow\">回退</button> <button id=\"{{id3}}\" bindtap=\"time\" class=\"buttonitem color1\" hover-class=\"shadow\"> <icon type=\"waiting\" color=\"#66CC33\"></icon> </button> <button id=\"{{id4}}\" bindtap=\"clickButton\" class=\"buttonitem color2\" hover-class=\"shadow1\">÷</button> </view> <view class=\"buttonGroup\"> <button id=\"{{id17}}\" bindtap=\"clickButton\" class=\"buttonitem color3\" hover-class=\"shadow7\">7</button> <button id=\"{{id18}}\" bindtap=\"clickButton\" class=\"buttonitem color3\" hover-class=\"shadow8\">8</button> <button id=\"{{id19}}\" bindtap=\"clickButton\" class=\"buttonitem color3\" hover-class=\"shadow9\">9</button> <button id=\"{{id5}}\" bindtap=\"clickButton\" class=\"buttonitem color2\" hover-class=\"shadow1\">×</button> </view> <view class=\"buttonGroup\"> <button id=\"{{id14}}\" bindtap=\"clickButton\" class=\"buttonitem color3\" hover-class=\"shadow4\">4</button> <button id=\"{{id15}}\" bindtap=\"clickButton\" class=\"buttonitem color3\" hover-class=\"shadow5\">5</button> <button id=\"{{id16}}\" bindtap=\"clickButton\" class=\"buttonitem color3\" hover-class=\"shadow6\">6</button> <button id=\"{{id6}}\" bindtap=\"clickButton\" class=\"buttonitem color2\" hover-class=\"shadow1\">-</button> </view> <view class=\"buttonGroup\"> <button id=\"{{id11}}\" bindtap=\"clickButton\" class=\"buttonitem color3\" hover-class=\"shadow1\">1</button> <button id=\"{{id12}}\" bindtap=\"clickButton\" class=\"buttonitem color3\" hover-class=\"shadow2\">2</button> <button id=\"{{id13}}\" bindtap=\"clickButton\" class=\"buttonitem color3\" hover-class=\"shadow3\">3</button> <button id=\"{{id7}}\" bindtap=\"clickButton\" class=\"buttonitem color2\" hover-class=\"shadow1\">+</button> </view> <view class=\"buttonGroup\"> <button id=\"{{id10}}\" bindtap=\"clickButton\" class=\"buttonitem1 color3\" hover-class=\"shadow0\">0</button> <button id=\"{{id8}}\" bindtap=\"clickButton\" class=\"buttonitem1 color2\" hover-class=\"shadow1\">.</button> <button id=\"{{id9}}\" bindtap=\"equal\" class=\"buttonitem1 color2\" hover-class=\"shadow1\">=</button> </view> </view>
cal.wxss
/* pages/cal/cal.wxss */ page{ background: #000000; } .screen{ position: fixed; color: #ffffff; font-size: 30px; bottom: 780rpx; text-align: right; width: 730rpx; word-wrap: break-word; } .content{ position: fixed; bottom: 0; } .buttonGroup{ display: flex; flex-direction: row; } .buttonitem{ text-align: center; line-height: 148rpx; width: 192rpx; border-radius: 0; } .buttonitem1{ width: 255rpx; text-align: center; line-height: 148rpx; border-radius: 0; } icon{ position: absolute; top: 30rpx; left: 67rpx; } .color1{ background: #CCFF99; } .color2{ background: #FFFF99; } .color3{ background: rgb(167, 223, 241); } .shadow{ background: #88e676; } .shadow0{ background: rgb(149, 118, 243); } .shadow1{ background: #FFCC66; } .shadow2{ background: #99FF00; } .shadow3{ background: #FF9999; } .shadow4{ background: #00CC66; } .shadow5{ background: #00CCFF; } .shadow6{ background: rgb(248, 80, 80); } .shadow7{ background: #FFCCFF; } .shadow8{ background: #CCCCCC; } .shadow9{ background: #CCFFFF; }
cal.js
// pages/cal/cal.js Page({ data: { result:\"0\", id1:\"clear\", id2:\"back\", id3:\"time\", id4:\"div\", id5:\"mul\", id6:\"sub\", id7:\"add\", id8:\"dot\", id9:\"eql\", id10:\"num_0\", id11:\"num_1\", id12:\"num_2\", id13:\"num_3\", id14:\"num_4\", id15:\"num_5\", id16:\"num_6\", id17:\"num_7\", id18:\"num_8\", id19:\"num_9\", buttonDot:false, }, clickButton: function (e) { console.log(e); var buttonVal = e.target.id; var res = this.data.result; var newbuttonDot=this.data.buttonDot; var sign; if (buttonVal >= \"num_0\" && buttonVal <= \"num_9\") { var num=buttonVal.split(\'_\')[1]; if (res == \"0\" || res.charAt(res.length -(length-1)) == \"=\") { res = num; } else { res = res + num; } } else{ if(buttonVal==\"dot\") { if(!newbuttonDot) { res = res + \'.\'; } } else if(buttonVal==\"clear\") { res=\'0\'; } else if(buttonVal==\"back\") { var length=res.length; if(length>1) { res=res.substr(0,length-1); } else{ res=\'0\'; } } else if (buttonVal == \"div\" || buttonVal == \"mul\" || buttonVal == \"sub\" || buttonVal == \"add\") { switch(buttonVal){ case \"div\": sign =\'÷\'; break; case \"mul\": sign =\'×\'; break; case \"sub\": sign=\'-\'; break; case \"add\": sign=\'+\'; break; } if(!isNaN(res.charAt(res.length-1))) { res=res+sign; } } } this.setData({ result: res, buttonDot:newbuttonDot, }); }, equal: function(e){ var str=this.data.result; var item= \'\'; var strArray = []; var temp=0; for(var i=0;i<=str.length;i++){ var s=str.charAt(i); if((s!=\'\' && s>=\'0\' && s<=\'9\') || s==\'.\'){ item=item+s; } else{ strArray[temp]=item; temp++; strArray[temp]=s; temp++; item=\'\'; } } if(isNaN(strArray[strArray.length-1])) { strArray.pop(); } var num; var res=strArray[0]*1; for(var i=1;i<=strArray.length;i=i+2){ num=strArray[i+1]; switch(strArray[i]){ case \"-\": res = res - num; break; case \"+\": res = res + num; break; case \"×\": res = res * num; break; case \"÷\": if(num!=\'0\') { res = res / num; } else { res =\'∞\'; break; } break; } } this.setData({ result:\'=\'+res, }); }, time:function(e){ var util=require(\"../../utils/util.js\"); var time=util.formatTime(new Date()); this.setData({ result:time }); } })
cal.json
{ \"navigationBarBackgroundColor\": \"#FF9900\", \"navigationBarTitleText\": \"EN计算器\", \"usingComponents\": {} }
其中有一些小错误,望大神指正!!!!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
© 版权声明
THE END
暂无评论内容