详解微信小程序用定时器实现倒计时效果


Posted in Javascript onApril 30, 2019

平常在微信小程序开发的时候,因项目的需求,倒计时必不可少,下面主要讲解定时器在微信小程序中的使用。

这里要先声明一点的就是,该篇主要实现倒计时功能,而且实现是时长较短的倒计时,其他的优化什么的不作主要考虑。

如果实现简单的60s倒计时效果,我们可直接使用setInterval即可,但是在微信小程序中,我们需要用微信小程序的语法,这时就会遇到一个难题,那就是怎么关闭定时器的问题,下面给出实例。

WXML代码

<view class='countDown'>倒计时:<text style='color:red'>{{countDownNum}}</text>s</view>

JS代码:

Page({
 /**
  * 页面的初始数据
  */
 data: {
  timer: '',//定时器名字
  countDownNum: '60'//倒计时初始值
 },
 
 onShow: function(){
  //什么时候触发倒计时,就在什么地方调用这个函数
  this.countDown();
 },
 
 countDown: function () {
  let that = this;
  let countDownNum = that.data.countDownNum;//获取倒计时初始值
  //如果将定时器设置在外面,那么用户就看不到countDownNum的数值动态变化,所以要把定时器存进data里面
  that.setData({
   timer: setInterval(function () {//这里把setInterval赋值给变量名为timer的变量
    //每隔一秒countDownNum就减一,实现同步
    countDownNum--;
    //然后把countDownNum存进data,好让用户知道时间在倒计着
    that.setData({
     countDownNum: countDownNum
    })
    //在倒计时还未到0时,这中间可以做其他的事情,按项目需求来
    if (countDownNum == 0) {
     //这里特别要注意,计时器是始终一直在走的,如果你的时间为0,那么就要关掉定时器!不然相当耗性能
     //因为timer是存在data里面的,所以在关掉时,也要在data里取出后再关闭
     clearInterval(that.data.timer);
     //关闭定时器之后,可作其他处理codes go here
    }
   }, 1000)
  })
 }
})

好了,这就是简单的倒计时实现过程,大家可复制代码到微信开发者工具去验证效果。

以上所述是小编给大家介绍的微信小程序用定时器实现倒计时效果详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JSONP 跨域共享信息
Aug 16 Javascript
jQuery+css+html实现页面遮罩弹出框
Mar 21 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
Sep 02 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
微信端开发--登录小程序步骤
Jan 11 Javascript
微信小程序 页面跳转传递值几种方法详解
Jan 12 Javascript
用move.js库实现百叶窗特效
Feb 08 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
Feb 10 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
Mar 07 Javascript
angular4+百分比进度显示插件用法示例
May 05 Javascript
基于vue如何发布一个npm包的方法步骤
May 15 Javascript
十分钟教你上手ES2020新特性
Feb 12 Javascript
TypeScript开发Node.js程序的方法
Apr 30 #Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
Apr 30 #Javascript
Javascript读取上传文件内容/类型/字节数
Apr 30 #Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
Apr 30 #Javascript
vue+web端仿微信网页版聊天室功能
Apr 30 #Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
Apr 29 #Javascript
详解iframe跨域的几种常用方法(小结)
Apr 29 #Javascript
You might like
一个取得文件扩展名的函数
2006/10/09 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
javascript对中文按照拼音排序代码
2014/08/20 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
Python记录详细调用堆栈日志的方法
2015/05/05 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
Django单元测试中Fixtures的使用方法
2020/02/26 Python
为什么python比较流行
2020/06/19 Python
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
高一物理教学反思
2014/01/24 职场文书
士力架广告词
2014/03/20 职场文书
党建工作先进材料
2014/05/02 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
世界名著读书笔记
2015/06/25 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
Python移位密码、仿射变换解密实例代码
2021/06/27 Python
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript