按照教程上面的录入编码,写出了第一个微信小程序:计算器
因为有些html和js的入门了。所以写代码没问题了。
感觉css的调整非常不熟悉,也就是有问题了也不知道怎么去调整它哪个属性。
比如开发环境中看到按钮布局非常合理,到真机中按钮挤在一起,怎么调整都不行。后面加了一个max-width让按钮中间有了间隙
后期还得深入去了解css
代码
// pages/calc/calc.js
Page({
mydata:{
lastOper:"add",
tempNum:0},
data: {
result:"0",
id1:"memory",
id2:"clear",
id3:"backspace",
id4:"div",
id5:"num_7",
id6:"num_8",
id7:"num_9",
id8:"mul",
id9:"num_4",
id10:"num_5",
id11:"num_6",
id12:"sub",
id13:"num_1",
id14:"num_2",
id15:"num_3",
id16:"add",
id17:"negative",
id18:"num_0",
id19:"dot",
id20:"equ"   },
clickButton:function(e){
var data = this.data.result;
var lens;
var dotpos;     
switch(e.target.id){
  case "num_0":
  case "num_1":
  case "num_2":
  case "num_3":
  case "num_4":
  case "num_5":
  case "num_6":
  case "num_7":
  case "num_8":
  case "num_9":
    if(this.data.result=="0"){
      data = e.target.id.split("_")[1];  
    }else{
      data += e.target.id.split("_")[1];
    }
    break;      
  case "clear":
    data = "0"; 
    this.mydata.tempNum = 0;
    this.mydata.lastOper = "add"; 
    break;
  case "backspace":        
    lens = data.toString().length;
    if(lens==1){
      data = 0;
    }else{
      console.log(data);
      data = data.toString().substr(0,lens -1);
    }
    break;
  case "negative":
    if(data != 0){
      data = -1*data;
    } 
    break;       
  case "dot":
    dotpos = data.toString().indexOf(".");
    if(dotpos<0){
      data += ".";
    }
    break;
  case "add":
  case "sub":
  case "mul":
  case "div":
    this.mydata.tempNum = calctwonum(this.mydata.tempNum,data,this.mydata.lastOper);
    data = 0;
    this.mydata.lastOper = e.target.id;
    break;
  case "equ":
    data = calctwonum(this.mydata.tempNum,data,this.mydata.lastOper);
    this.mydata.lastOper = "add";
    break;
}
//回写结果
this.setData({
  result:data
})},
})
var calctwonum=function(data1,data2,Opers){
var data;
data1 = parseFloat(data1);
data2 = parseFloat(data2);
switch(Opers){
case "add":
  data = data1 + data2;
  break;
case "sub":
  data = data1 - data2;
  break;
case "mul":
  data = data1 * data2;
  break;
case "div":
  if(data2!=0){
    data = data1 / data2;
  }       
  break;}
//小数位数
if(data.toString().indexOf(“.”)<0){
return data;}else{
return data.toFixed(6);}
}
css—-
.content{
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
box-sizing: border-box;
padding-top: 10rpx;
}
.result{
background-color: #ffffff;
text-align: right;
font-size: 36px;
width:600rpx;
height:150rpx;
line-height: 150rpx;
padding: 0 20rpx;
margin: 30rpx;
border:1px solid #ddd;
border-radius: 6px;
}
.btn_group{
width:650rpx;
height: 160rpx;
display: flex;
justify-content:space-between; /从两边靠边,中间均匀分布/
flex-direction: row;
}
.btn_size{
max-width:155rpx; /最开始手机测试四个按钮接在一起,加了这个就有间隙了/
width:140rpx;
min-height:150rpx;
margin: 5rpx;
text-shadow: 0 1px 1px rgba(0,0,0,0.3);
border-radius: 5px;
text-align: center;
line-height: 130rpx;
font-size: 30px;
}
.btn_color_blue{
background-color:#0095cd;
color:#d9eef7;
border:solid 1px #0076a3;
}
.btn_color_orange{
background-color:#f78ded;
color:#fef4e9;
border:solid 1px #da7c0c;
}
.btn_number_hover{
background-color: #0094cc;
opacity: 0.7;
}
.btn_control_hover{
background-color: #ff0000;
}

 
						