基于微信小程序实现番茄钟专注时间
时间: 2024-03-14 21:42:54 浏览: 154
以下是一个基于微信小程序实现番茄钟专注时间的代码:
```
<view class="container">
<view class="title">番茄钟</view>
<view class="time">{{minute}}:{{second}}</view>
<view class="button-group">
<button class="start-btn" wx:if="{{status == 'stop'}}" bindtap="onStart">开始</button>
<button class="stop-btn" wx:if="{{status == 'start'}}" bindtap="onStop">停止</button>
</view>
</view>
```
```
Page({
data: {
minute: 25,
second: 0,
status: 'stop'
},
onStart: function() {
var that = this
var interval = setInterval(function() {
var minute = that.data.minute
var second = that.data.second - 1
if (second < 0) {
minute -= 1
second = 59
}
that.setData({
minute: minute,
second: second
})
if (minute == 0 && second == 0) {
clearInterval(interval)
that.setData({
status: 'stop'
})
wx.showToast({
title: '恭喜你完成一个番茄钟!',
icon: 'none'
})
}
}, 1000)
that.setData({
status: 'start'
})
},
onStop: function() {
this.setData({
minute: 25,
second: 0,
status: 'stop'
})
}
})
```
该小程序包含一个番茄钟计时器,用户可以在计时器中设定专注时间为25分钟。在专注时间内,小程序会实时更新剩余时间,并在时间到达时弹出提示框。
实现番茄钟计时的核心代码在 onStart 函数中,该函数使用 setInterval 函数每隔一秒钟更新一次剩余时间,并检查时间是否到达。当时间到达时,该函数会清除计时器并弹出提示框。另外,该函数还会在开始计时时将状态设置为“start”,并在停止计时时将时间重置并将状态设置为“stop”。
注意:该小程序使用了微信小程序框架中的数据绑定和事件绑定功能,需要在微信开发者工具中运行。
阅读全文