倒计时功能是一个比较常见的功能,比如用户获取验证码就需要用到。这里记录一下在微信小程序里面倒计时功能的简单实现。
直接看看代码吧
//倒计时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直接退出
总结
以上所述是小编给大家介绍的微信小程序倒计时功能实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
解决方案中的数据层项目最初使用的是oracle11g+ef5创建的实体模型,在分页时遇到了skip参数为0报错的问题,没有找到相关资料。于是决定升级到ef6,在or
angular之ng-template模板加载
本文介绍了angular之ng-template模板加载,分享给大家,具体如下:html5中的templatetemplate标签的含义:HTMLtemplate元素是一种用于保存客户端内容的机制,该
js定时器+简单的动画效果实例
1.向下滑动!DOCTYPEhtmlhtmllang="en"headmetacharset="UTF-8"title向下滑动/titlestylebody{margin:0px;}#show{width:200px;/*高度为0*/height:100px;background-color:lightcoral;margin:0auto;/*设