微信小程序实现简易计算

网友投稿 546 2023-11-10

一、项目概述

功能:

实现加减乘除去余(%)删除(Delete)全部清空( C)

html界面要在app.json里面注册。

微信小程序实现简易计算器

不注册的话会报错:navigateTo:fail url "pages/index/talkPage" is not in app.json

注册完毕之后编译,开发工具会自动为你创建一个对应的js和wxss文件,而且js里面会自动搭好基本函数:

页面如下:

二、WXML文件编写

首先我们对计算器页面进行设计,这里我们主要分为两部分,上部分和下部,显示部分分为操作数和操作符。

计算器分为五行四列,最外面为纵向布局,里面为横向布局。布局通过样式表操作,

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<view class="result">
<!-- 当前view表示的是显示部分 -->
<view class="result_num">{{num}}</view>
<!--显示操作数 -->
<view class="result_op">{{op}}</view>
<!--显示操作符 -->
</view>
<view class="btns">
<!-- 当前view表示的是操作部分 -->
<view>
<!--第一行 -->
<view hover-class="bg" bindtap="resetBtn">C</view>
<view hover-class="bg" bindtap="delBtn">DEL</view>
<view hover-class="bg" bindtap="opBtn" data-val="%">%</view>
<view hover-class="bg" bindtap="opBtn" data-val="/">÷</view>
</view>
<view>
<!--第二行 -->
<view hover-class="bg" bindtap="numBtn" data-val="7">7</view>
<view hover-class="bg" bindtap="numBtn" data-val="8">8</view>
<view hover-class="bg" bindtap="numBtn" data-val="9">9</view>
<view hover-class="bg" bindtap="opBtn" data-val="*">×</view>
</view>
<view>
<!--第三行 -->
<view hover-class="bg" bindtap="numBtn" data-val="4">4</view>
<view hover-class="bg" bindtap="numBtn" data-val="5">5</view>
<view hover-class="bg" bindtap="numBtn" data-val="6">6</view>
<view hover-class="bg" bindtap="opBtn" data-val="-">-</view>
</view>
<view>
<!--第四行 -->
<view hover-class="bg" bindtap="numBtn" data-val="1">1</view>
<view hover-class="bg" bindtap="numBtn" data-val="2">2</view>
<view hover-class="bg" bindtap="numBtn" data-val="3">3</view>
<view hover-class="bg" bindtap="opBtn" data-val="+">+</view>
</view>
<view>
<!--第五行 -->
<view hover-class="bg" bindtap="numBtn" data-val="0">0</view>
<view hover-class="bg" bindtap="doBtn">.</view>
<view hover-class="bg" bindtap="opBtn" data-val="=">=</view>
</view>
</view>

三、WXSS文件编写

这里分两部分,计算结果展示区,计算按钮区。可见wxml文件注释。

这里在补充一点样式设计:

display:flex

 表示弹性布局,block块布局(后面接换行符)

flex:1表示占满剩余空间(flex-grow,flex-shrink,flex-basis的简写)默认值为:0,1,auto, 不伸不缩flex-direction:

容器内元素的排列方向(默认横向排列)

1.flex-direction:row;沿水平主轴让元素从左向右排列。此时flex-basis相当于width。

2.flex-direction:colimn;沿垂直主轴从上到下排列。此时flex-basis相当于height

3.flex-direction:roe-reverse;沿水平主轴从右向左排列hover-class:按下去的样式**box-sizing:border-box;**将边框先计入宽度之内,用于确定准确边框宽度,任何像素都会影响页面效果align-items:**垂直对齐,**display要设置成flex才能对齐属性赋值justify-content:水平对齐方式

样式表的设置“>”符号:表示嵌套级联关系

.btns>view>view

view>view
视口单位

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* pages/cal/index.wxss */
.result {
flex: 1; /* 弹性填充满*/
background: #f3f6fe;
position: relative;
}
.btns {
flex: 1;
display: flex; /*弹性显示结构*/
flex-direction: column; /*纵向显示*/
font-size: 17pt;
border-top: 1rpx solid #ccc;
border-left: 1rpx solid #ccc;
}
page {
display: flex;
flex-direction: column;
height: 100%;
}
.btns>view {
flex: 1;
display: flex;
flex-direction: row;
}
.btns>view>view {
flex-basis: 25%;
border-right: 1rpx solid #ccc;
border-bottom: 1rpx solid #ccc;
display: flex;
align-items: center;
justify-content: center;
}
.btns>view:last-child>view:first-child {
flex-basis: 50%;
}
.bg {
background-color: #eee;
}
.result_num {
font-size: 17pt;
position: absolute;
bottom: 5vh;
right: 3vw;
}
.result_op {
font-size: 17pt;
position: absolute;
bottom: 1vh;
right: 3vw;
}

四、JS页面设计

主要实现

代码如下:

五、总结

1、计算器最重要注意样式表,JS。

在JS中要是想数据从前台传到后台通过事件的方式(e),从后台传到前台用data的方式。

2、主页跳转到计算器页面

主页index.wxml,增加一个按钮:

?
1
<button  bindtap="OnCalShow" >计算器</button>

在index.js中增增加

?
1
2
3
4
5
OnCalShow() {
wx.navigateTo({
url: /pages/cal/index,
})
}
您可能感兴趣的文章:微信小程序 简易计算器实现代码实例微信小程序实现计算器功能用微信小程序实现计算器功能微信小程序实现简易计算器微信小程序实现计算器小功能微信小程序实现小型计算器微信小程序计算器实例详解微信小程序实现计算器案例微信小程序实现简单计算器微信小程序计算器实现案例详解

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序实现登录功能
下一篇:详解wepy开发小程序踩过的坑(小结)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~