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


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 相关文章推荐
JS的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 Javascript
提高网站信任度的技巧
Oct 17 Javascript
AJAX分页的代码(后台asp.net)
Feb 14 Javascript
Javascript 中的 call 和 apply使用介绍
Feb 22 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
Jun 25 Javascript
javascript关于运动的各种问题经典总结
Apr 27 Javascript
jQuery实现网站添加高亮突出显示效果的方法
Jun 26 Javascript
js利用clipboardData实现截屏粘贴功能
Oct 12 Javascript
基于angular实现三级联动的生日插件
May 12 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
Sep 07 Javascript
css配合JavaScript实现tab标签切换效果
Oct 11 Javascript
Vue使用NProgress的操作过程解析
Oct 10 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判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
2015/07/29 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
实例讲解php将字符串输出到HTML
2019/01/27 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
JS区分浏览器页面是刷新还是关闭
2016/04/17 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
Python中分数的相关使用教程
2015/03/30 Python
Python下Fabric的简单部署方法
2015/07/14 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
Python 面向对象之类class和对象基本用法示例
2020/02/02 Python
python之生成多层json结构的实现
2020/02/27 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
自荐信范文
2013/12/10 职场文书
护士进修自我鉴定
2014/02/07 职场文书
公司委托书范本
2014/04/04 职场文书
师德师风个人反思
2014/04/28 职场文书
工地质量标语
2014/06/12 职场文书
药店采购员岗位职责
2014/09/30 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
表扬信格式模板
2015/05/05 职场文书
建党伟业的观后感
2015/06/01 职场文书
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技
MySQL添加索引特点及优化问题
2022/07/23 MySQL