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


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 相关文章推荐
js模拟弹出效果代码修正版
Aug 07 Javascript
验证用户是否修改过页面的数据的实现方法
Sep 26 Javascript
6个DIV 135或246间隔一秒轮番显示效果
Jul 24 Javascript
基于jquery的一行代码轻松实现拖动效果
Dec 28 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
Feb 06 Javascript
Javascript实现视频轮播在pc端与移动端均可
Sep 29 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
Nov 14 Javascript
JS加载器如何动态加载外部js文件
May 26 Javascript
浅谈JavaScript的计时器对象
Dec 26 Javascript
vue-router的HTML5 History 模式设置
Sep 08 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
Sep 21 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 13 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
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
IE 当eval遇上function的处理
2011/08/09 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
请求时token过期自动刷新token操作
2020/09/11 Javascript
python操作字典类型的常用方法(推荐)
2016/05/16 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
如何利用python查找电脑文件
2018/04/27 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
将python文件打包exe独立运行程序方法详解
2020/02/12 Python
python 画图 图例自由定义方式
2020/04/17 Python
Python实现汇率转换操作
2020/05/03 Python
Python 解决相对路径问题:"No such file or directory"
2020/06/05 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
运动会入场解说词
2014/02/07 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
入门学习Go的基本语法
2021/07/07 Golang