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


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 prototype属性使用说明
May 13 Javascript
网页右下角弹出窗体实现代码
Jun 05 Javascript
Egret引擎开发指南之发布项目
Sep 03 Javascript
jQuery封装的tab选项卡插件分享
Jun 16 Javascript
jquery日历插件e-calendar升级版
Nov 10 Javascript
jQuery实现导航回弹效果
Feb 27 Javascript
利用angularjs1.4制作的简易滑动门效果
Feb 28 Javascript
Javascript es7中比较实用的两个方法示例
Jul 21 Javascript
Node.js利用断言模块assert进行单元测试的方法
Sep 28 Javascript
如何把vuejs打包出来的文件整合到springboot里
Jul 26 Javascript
Vue实现本地购物车功能
Dec 05 Javascript
详解Ant Design of React的安装和使用方法
Dec 27 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生成带有雪花背景的验证码
2006/10/09 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
PHP积分兑换接口实例
2015/02/09 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
很可爱的输入框
2008/08/03 Javascript
Javascript的匿名函数小结
2009/12/31 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
javascript实现延时显示提示框效果
2017/06/01 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
解决PyCharm import torch包失败的问题
2018/10/13 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
幼儿园秋游活动方案
2014/01/21 职场文书
大学生应聘求职信
2014/05/26 职场文书
史上最牛辞职信
2015/05/13 职场文书
公司管理建议书
2015/09/14 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书
python 中的jieba分词库
2021/11/23 Python
Flink 侧流输出源码示例解析
2022/09/23 Servers