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


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 相关文章推荐
HTML中Select不用Disabled实现ReadOnly的效果
Apr 07 Javascript
JS分页效果示例
Oct 11 Javascript
在javascript中执行任意html代码的方法示例解读
Dec 25 Javascript
jQuery.each使用详解
Jul 07 Javascript
JavaScript Length 属性的总结
Nov 02 Javascript
基于WebUploader的文件上传js插件
Aug 19 Javascript
input输入密码变黑点密文的实现方法
Jan 09 Javascript
详解angularjs的数组传参方式的简单实现
Jul 28 Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 Javascript
实例介绍JavaScript中多种组合继承
Jan 20 Javascript
layui table 表格模板按钮的实例代码
Sep 21 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
May 14 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
PHPlet在Windows下的安装
2006/10/09 PHP
PHP session常见问题集锦及解决办法总结
2007/03/18 PHP
php5.3 废弃函数小结
2010/05/16 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
CI框架常用函数封装实例
2016/11/21 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
浅析使用BootStrap TreeView插件实现灵活配置快递模板
2016/11/28 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
jquery+css实现下拉列表功能
2017/09/03 jQuery
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
2020/08/18 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
Python 命令行非阻塞输入的小例子
2013/09/27 Python
Python性能优化技巧
2015/03/09 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
python 检测图片是否有马赛克
2020/12/01 Python
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
HTML5 weui使用笔记
2019/11/21 HTML / CSS
单身旅行者的单身假期:Just You
2018/04/08 全球购物
警察群众路线整改措施
2014/09/26 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
服务整改报告
2014/11/06 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书