您现在的位置是:网站首页> 编程资料编程资料
微信小程序实现计时器_javascript技巧_
2023-05-24
463人已围观
简介 微信小程序实现计时器_javascript技巧_
本文实例为大家分享了微信小程序实现计时器的具体代码,供大家参考,具体内容如下
微信小程序点击事件触发计时器

1.wxml
开始巡查 计时器 {{showHour}}:{{showMin}}:{{showSec}}
2.js
var util = require('../../utils/util.js'); data: { showModal: false, showStop:false, //存储计时器 setInter: '', hour: 1, min: 1, sec: 1, showSec: "00", showMin: "00", showHour: "00" }, open_modal: function () { var that = this; that.setData({ showModal: true, }) }, // 开始计时 start: function () { var that = this; that.setData({ showStop: true }) wx.showToast({ title: '开始计时', duration: 1000, complete() { // 获取开始时间 var beginTime = util.formatTime(new Date()); console.log(beginTime) console.log("开始计时") //将计时器赋值给setInter that.data.setInter = setInterval( function () { if (that.data.sec != 60) { if (that.data.sec <= 9) { let showSec = '0' + that.data.sec that.setData({ showSec: showSec, sec: that.data.sec + 1, }) } else { that.setData({ showSec: that.data.sec, sec: that.data.sec + 1, }) } } else { if (that.data.min != 60) { // 60s 进 1min if (that.data.min <= 9) { let showMin = '0' + that.data.min that.setData({ sec: 0, showSec: "00", showMin: showMin, min: that.data.min + 1, }) } else { that.setData({ sec: 0, showSec: "00", showMin: that.data.min, min: that.data.min + 1, }) } } else { // 60min 进 1hour if (that.data.hour != 24) { if (that.data.hour <= 9) { let showHour = '0' + that.data.hour that.setData({ min: 0, showMin: "00", showHour: showHour, hour: that.data.hour + 1, }); } else { that.setData({ min: 0, showMin: "00", showHour: that.data.hour, hour: that.data.hour + 1, }); } } else { //24小时 var endTime = util.formatTime(new Date()); console.log(endTime) console.log("结束计时") //清除计时器 即清除setInter clearInterval(that.data.setInter); that.setData({ showModal: false, showStop: false, sec: 1, min: 1, hour: 1, showSec: "00", showMin: "00", showHour: "00" }) } } } }, 1000); } }); }, // 停止计时 stop: function () { var that = this; wx.showModal({ title: '提示', content: '是否确定退出', showCancel: true, cancelText: '继续', cancelColor: '#000000', confirmText: '确定退出', confirmColor: '#1677FF', success: (result) => { if (result.confirm) { // 获取结束时间 var endTime = util.formatTime(new Date()); console.log(endTime) console.log("结束计时") //清除计时器 即清除setInter clearInterval(that.data.setInter); that.setData({ showModal: false, showStop: false, sec: 1, min: 1, hour: 1, showSec: "00", showMin: "00", showHour: "00" }) } }, fail: () => {}, complete: () => {} }); }, // 关闭模态框方法 close: function () { var that = this; // 判断点击关闭时状态 if (that.data.showStop) { //点击开始后关闭 that.stop_inspection(); } else if (!that.data.showStop) { // 没有开始就关闭 that.setData({ showModal: false, }) } },3.wxss
.button { margin-top: 32rpx; width: 702rpx; height: 98rpx; background: #1677FF; border-radius: 8rpx; display: flex; align-items: center; justify-content: center; font-size: 36rpx; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; color: #FFFFFF; } .mask-bg { position: absolute; top: 0%; left: 0%; width: 100%; height: 100%; background-color: black; z-index: 1001; -moz-opacity: 0.7; opacity: 0.70; filter: alpha(opacity=70); } .mask-item { text-align: center; position: absolute; top: 24.5%; left: 8%; width: 84%; height: 55.5%; border-radius: 8rpx; /* opacity: 0.55; */ background-color: #FFFFFF; z-index: 1002; overflow: auto; display: flex; flex-direction: column; align-items: center; } .mask-top-item { height: 128rpx; width: 100%; background-color: #1677FF; z-index: 1003; display: flex; align-items: center; } .mask-top-title { width: 240rpx; height: 50rpx; font-size: 36rpx; font-family: PingFangSC-Medium, PingFang SC; font-weight: 500; color: #FFFFFF; margin-left: 200rpx; } .close-item-img { margin-left: 115rpx; width: 44rpx; height: 44rpx; } .collect-time { margin-top: 112rpx; width: 552rpx; height: 116rpx; display: flex; align-items: center; justify-content: center; font-size: 120rpx; font-family: ArialMT; } /* .divLine2 { margin-top: 42rpx; width: 524rpx; height: 2rpx; background: #DDDDDD; } */ .start-img { margin-top: 64rpx; height: 176rpx; width: 176rpx; } .bottom-bg{ width: 100%; height: 93rpx; position: absolute; bottom:0%; z-index: 1003; } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- React Hooks之usePolymerAction抽象代码结构设计理念_React_
- 绘制flowable 流程图的Vue 库使用详解_vue.js_
- 微信小程序自定义计时器功能_javascript技巧_
- Vue中子组件的显示与隐藏方式_vue.js_
- 微信小程序实现利息计算器_javascript技巧_
- vue使用iview的modal弹窗嵌套modal出现格式错误的解决_vue.js_
- JS 中在严格模式下 this 的指向问题_javascript技巧_
- 微信小程序实现简单搜索框_javascript技巧_
- ahooks useVirtualList 封装虚拟滚动列表_React_
- 微信小程序实现小型计算器_javascript技巧_
