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


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 相关文章推荐
toString()一个会自动调用的方法
Feb 08 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
Dec 27 Javascript
Node.js中使用计时器定时执行函数详解
Aug 15 Javascript
原生js三级联动的简单实现代码
Jun 07 Javascript
JavaScript中常用的验证reg
Oct 13 Javascript
js实现彩色条纹滚动条效果
Mar 15 Javascript
vue+swiper实现组件化开发的实例代码
Oct 26 Javascript
基于Vue中点击组件外关闭组件的实现方法
Mar 06 Javascript
基于webpack4搭建的react项目框架的方法
Jun 30 Javascript
vue-cli 目录结构详细讲解总结
Jan 15 Javascript
vue实现浏览器全屏展示功能
Nov 27 Javascript
js实现时分秒倒计时
Dec 03 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
PHP+MYSQL 出现乱码的解决方法
2008/08/08 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
JSON字符串和JSON对象相互转化实例详解
2017/01/05 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
js判断密码强度的方法
2020/03/18 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
[02:17]2016国际邀请赛中国区预选赛VG战队领队采访
2016/06/26 DOTA
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
Python中多线程thread与threading的实现方法
2014/08/18 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
Python WSGI的深入理解
2018/08/01 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
python设置随机种子实例讲解
2019/09/12 Python
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
幼师专业毕业生自荐信
2013/09/29 职场文书
会计专业求职信范文
2014/03/16 职场文书
海上钢琴师观后感
2015/06/03 职场文书
感恩教师节主题班会
2015/08/12 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
学会Python数据可视化必须尝试这7个库
2021/06/16 Python
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server