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


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实现的完美渐变弹出层效果代码
Apr 02 Javascript
javascript开发技术大全-第1章javascript概述
Jul 03 Javascript
浏览器加载、渲染和解析过程黑箱简析
Nov 29 Javascript
编写高效jQuery代码的4个原则和5个技巧
Apr 24 Javascript
document.write的几点使用心得
May 14 Javascript
jQuery创建DOM元素实例解析
Jan 19 Javascript
jQuery下拉美化搜索表单效果代码分享
Aug 25 Javascript
分分钟玩转Vue.js组件(二)
Mar 01 Javascript
vue数据控制视图源码解析
Mar 28 Javascript
浅谈vue中.vue文件解析流程
Apr 24 Javascript
JS实现前端路由功能示例【原生路由】
May 29 Javascript
为什么推荐使用JSX开发Vue3
Dec 28 Vue.js
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
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
IE8提示Invalid procedure call or argument 异常的解决方法
2012/09/30 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
2014/03/04 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
js简单时间比较的方法
2016/08/02 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
Vue组件实例间的直接访问实现代码
2017/08/20 Javascript
two.js之实现动画效果示例
2017/11/06 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
运用js实现图层拖拽的功能
2019/05/24 Javascript
JS字符串常用操作方法实例小结
2019/06/24 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
python执行外部程序的常用方法小结
2015/03/21 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
用pycharm开发django项目示例代码
2018/10/24 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
Python urllib3软件包的使用说明
2020/11/18 Python
html5 视频播放解决方案
2016/11/06 HTML / CSS
部队领导证婚词
2014/01/12 职场文书
大宝sod蜜广告词
2014/03/21 职场文书
幼儿园母亲节活动总结
2015/02/10 职场文书
中秋节感想
2015/08/10 职场文书
Python时间操作之pytz模块使用详解
2022/06/14 Python
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技