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


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 相关文章推荐
jquery easyui的tabs使用时的问题
Mar 23 Javascript
图标线性回归斜着移动到指定的位置
Aug 16 Javascript
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
ie7+背景透明文字不透明超级简单的实现方法
Jan 17 Javascript
Prototype框架详解
Nov 25 Javascript
JavaScript组合模式学习要点
Aug 26 Javascript
详细谈谈AngularJS的子级作用域问题
Sep 05 Javascript
js获取地址栏参数的两种方法
Jun 27 Javascript
three.js中文文档学习之创建场景
Nov 20 Javascript
javascript实现数字配对游戏的实例讲解
Dec 14 Javascript
angularjs http与后台交互的实现示例
Dec 21 Javascript
postman自定义函数实现 时间函数的思路详解
Apr 17 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
第十二节 类的自动加载 [12]
2006/10/09 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
JavaScript返回网页中锚点数目的方法
2015/04/03 Javascript
JS实现可关闭的对联广告效果代码
2015/09/14 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
使用70行Python代码实现一个递归下降解析器的教程
2015/04/17 Python
Python列表切片用法示例
2017/04/19 Python
Python迭代器和生成器定义与用法示例
2018/02/10 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
python super用法及原理详解
2020/01/20 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
餐饮管理自我介绍信
2014/01/15 职场文书
生日寿宴答谢词
2014/01/19 职场文书
什么样的创业计划书可行性高?
2014/02/01 职场文书
小学英语教学反思案例
2014/02/04 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
欢迎新生标语2015
2015/07/16 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库