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


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 相关文章推荐
JavaScript 克隆数组最简单的方法
Feb 12 Javascript
传智播客学习之java 反射
Nov 22 Javascript
让alert不出现弹窗的两种方法
May 18 Javascript
JS运动框架之分享侧边栏动画实例
Mar 03 Javascript
AngularJS基础 ng-keydown 指令简单示例
Aug 02 Javascript
jQuery EasyUI常用数据验证汇总
Sep 18 Javascript
Vue.js基础知识小结
Jan 13 Javascript
js实现一键复制功能
Mar 16 Javascript
使用Node.js实现ORM的一种思路详解(图文)
Oct 24 Javascript
angular基于ng-alain定义自己的select组件示例
Feb 23 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
Nov 02 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
Sep 03 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制作静态网站的模板框架(三)
2006/10/09 PHP
PHP中include()与require()的区别说明
2010/03/10 PHP
PHP多例模式介绍
2013/06/24 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
vue.js中created方法作用
2018/03/30 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
python实现apahce网站日志分析示例
2014/04/02 Python
python3实现多线程聊天室
2018/12/12 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
HTML+CSS3模拟心的跳动实例代码
2017/09/05 HTML / CSS
台湾最大银发乐活百货:乐龄网
2018/05/21 全球购物
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
后勤副校长自我鉴定
2013/10/13 职场文书
学生个人的自我评价分享
2013/11/05 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
法院答辩状格式
2015/05/22 职场文书
python3使用diagrams绘制架构图的步骤
2021/04/08 Python
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android