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


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 相关文章推荐
jQuery中closest()函数用法实例
Jan 07 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
Jul 29 Javascript
JS DOMReady事件的六种实现方法总结
Nov 23 Javascript
提高Web性能的前端优化技巧总结
Feb 27 Javascript
JavaScript数组去重的多种方法(四种)
Sep 19 Javascript
js表单序列化判断空值的实例
Sep 22 Javascript
JS实现十字坐标跟随鼠标效果
Dec 25 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
May 13 Javascript
JavaScript原型链与继承操作实例总结
Aug 24 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
Aug 30 Javascript
angularjs1.5 组件内用函数向外传值的实例
Sep 30 Javascript
Vue+abp微信扫码登录的实现代码示例
Jan 06 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
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
PHP的5个安全措施小结
2012/07/17 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
php自动获取关键字的方法
2015/01/06 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
php常用图片处理类
2016/03/16 PHP
php数组和链表的区别总结
2019/09/20 PHP
如何运行/调试你的PHP代码
2020/10/23 PHP
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
Nodejs学习笔记之NET模块
2015/01/13 NodeJs
jQuery功能函数详解
2015/02/01 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
2016/07/18 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
使用Python绘制图表大全总结
2017/02/11 Python
Python3.5 创建文件的简单实例
2018/04/26 Python
超简单使用Python换脸实例
2019/03/27 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
Python调用Windows命令打印文件
2020/02/07 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
浅谈Python中文件夹和python package包的区别
2020/06/01 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
医德医风学习心得体会
2016/01/25 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书
小程序自定义轮播图圆点组件
2022/06/25 Javascript