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


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版本引发的问题解决
Oct 14 Javascript
jquery如何通过name名称获取当前name的value值
Dec 20 Javascript
js类定义函数时用prototype与不用的区别示例介绍
Jun 10 Javascript
javascript模拟post提交隐藏地址栏的参数
Sep 03 Javascript
非常棒的jQuery图片轮播效果
Apr 17 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
js判断价格,必须为数字且不能为负数的实现方法
Oct 07 Javascript
自己封装的一个简单的倒计时功能实例
Nov 23 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
Jun 28 Javascript
JavaScript实现HSL拾色器
May 21 Javascript
原生js+canvas实现贪吃蛇效果
Aug 02 Javascript
如何在面试中手写出javascript节流和防抖函数
Oct 22 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
php获取系统变量方法小结
2015/05/29 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
完美的php分页类
2017/10/24 PHP
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
Angular6新特性之Angular Material
2018/12/28 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
Flask Web开发入门之文件上传(八)
2018/08/17 Python
如何基于python操作excel并获取内容
2019/12/24 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
python实现图像全景拼接
2020/03/27 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
pytorch简介
2020/11/11 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
函授大学生自我鉴定
2014/02/05 职场文书
出纳员的岗位职责
2014/02/22 职场文书
周年庆典主持词
2014/04/02 职场文书
高中课前三分钟演讲稿
2014/09/13 职场文书
连锁超市项目计划书
2014/09/15 职场文书
军训新闻稿范文
2015/07/17 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
热爱劳动主题班会
2015/08/14 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python