微信小程序倒计时功能实现代码


Posted in Javascript onNovember 09, 2017

倒计时功能是一个比较常见的功能,比如用户获取验证码就需要用到。这里记录一下在微信小程序里面倒计时功能的简单实现。

直接看看代码吧

//倒计时60秒
function countDown(that,count) {
 if (count == 0) {
 that.setData({
  timeCountDownTop: '获取验证码',
  counting:false
 })
 return;
 }
 that.setData({
 counting:true,
 timeCountDownTop: count + '秒后重新获取',
 })
 setTimeout(function(){
 count--;
 countDown(that, count);
 }, 1000);
}

在需要倒计时的地方调用

Page({
 data:{
  counting:false
 },
 //生成验证码
 generateVerifyCode:function() {
  var that = this;
  if (!that.data.counting) {
   wx.showToast({
   title: '验证码已发送',
   })
   //开始倒计时60秒
   countDown(that, 60);
  } 
 },
})

下面简单介绍下功能的实现

首先倒计时的方法是写在Page的外面,这个别搞错了

实现倒计时关键的地方在于setTimeout方法,也即下面这段代码。setTimeout方法可以设置在指定的时间间隔执行某个函数。应用的格式是setTimeout(function(),time),function就是对应要执行的方法,time就是时间间隔,这里的1000表示1000毫秒,也就是间隔1秒执行一次countDown方法。

setTimeout(function(){
 count--;
 countDown(that, count);
 }, 1000);
  • countDown方法中利用count字段来设置倒计时的时间,比如这里是60秒
  • countDown方法中把that也传递进去是为了在倒计时状态改变时利用setData方法更新页面
  • countDown方法中利用counting字段来判断是否已经在倒计时了,避免重复开始倒计时

倒计时结束是通过count来判断,通过return直接退出

总结

以上所述是小编给大家介绍的微信小程序倒计时功能实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用JavaScript脚本实现Web页面信息交互
Dec 21 Javascript
jquery学习笔记二 实现可编辑的表格
Apr 09 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
Feb 12 Javascript
Node.js实现的简易网页抓取功能示例
Dec 05 Javascript
JS是按值传递还是按引用传递
Jan 30 Javascript
详解Node.js开发中的express-session
May 19 Javascript
angularjs路由传值$routeParams详解
Sep 05 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
Jul 12 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
Sep 20 Javascript
微信小程序 setData 对 data数据影响问题
Apr 18 Javascript
详解JS实现系统登录页的登录和验证
Apr 29 Javascript
js实现蒙版效果
Jan 11 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 #jQuery
微信小程序获取手机号授权用户登录功能
Nov 09 #Javascript
jQuery.Sumoselect插件实现下拉复选框效果
Nov 09 #jQuery
webpack中CommonsChunkPlugin详细教程(小结)
Nov 09 #Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
Nov 09 #Javascript
Angularjs渲染的 using 指令的星级评分系统示例
Nov 09 #Javascript
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 #jQuery
You might like
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
第五节 克隆 [5]
2006/10/09 PHP
php实现encode64编码类实例
2015/03/24 PHP
php自定义hash函数实例
2015/05/05 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
jquery 3D球状导航的文章分类
2010/07/06 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
JavaScript事件委托用法分析
2015/01/24 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
Python中常见的数据类型小结
2015/08/29 Python
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
django文档学习之applications使用详解
2018/01/29 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
python Tkinter的图片刷新实例
2019/06/14 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
Python面向对象封装操作案例详解
2019/12/31 Python
Python操作Jira库常用方法解析
2020/04/10 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
经典c++面试题三
2015/07/08 面试题
市场部规章制度
2014/01/24 职场文书
年终总结会主持词
2014/03/25 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
父亲去世追悼词
2015/06/23 职场文书