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


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数据分享
May 12 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
AngularJS实现一次监听多个值发生的变化
Aug 31 Javascript
JavaScript动态数量的文件上传控件
Nov 18 Javascript
vue.js单文件组件中非父子组件的传值实例
Sep 13 Javascript
小程序云开发初探(小结)
Oct 24 Javascript
JavaScript设计模式之享元模式实例详解
Jan 17 Javascript
微信小程序系列之自定义顶部导航功能
May 21 Javascript
Vue+Django项目部署详解
May 30 Javascript
JS常见内存泄漏及解决方案解析
May 30 Javascript
Vue使用Element实现增删改查+打包的步骤
Nov 25 Vue.js
token 机制和实现方式
Dec 15 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 创建标签云函数代码
2010/05/26 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
asp 的 分词实现代码
2007/05/24 Javascript
ext 代码生成器
2009/08/07 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
Angular.js中上传指令ng-upload的基本使用教程
2017/07/30 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
python退出命令是什么?详解python退出方法
2018/12/10 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
质量工程师岗位职责
2013/11/16 职场文书
施工人员岗位职责
2013/12/12 职场文书
大一军训感言
2014/01/09 职场文书
春游踏青活动方案
2014/08/14 职场文书
给领导的感谢信范文
2015/01/23 职场文书
2016学习医德医风心得体会
2016/01/25 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
警用民用对讲机找不同
2022/02/18 无线电
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS