微信小程序> 微信小程序登录与注册验证码倒计时的效果实现-微信小程序验证码功能-小程序图形验证码

微信小程序登录与注册验证码倒计时的效果实现-微信小程序验证码功能-小程序图形验证码

浏览量:2777 时间: 来源:编程小石头
1.

我们在做手机登录和用户注册时,总会用到倒计时效果,今天就来给大家讲讲手机登录时验证码倒计时效果的实现。

老规矩,先看效果图2.

可以看到,我们在点击获取验证码以后,就开始倒计时了,正常都是从60s倒计时的,这里为了演示方便,我从6s开始的。可以看到倒计时结束后,按钮又恢复了可以点击的状态。

一,index.wxml布局3.

布局很简单,就是一个用户获取手机号输入,一个用来获取验证码输入,一个获取验证码按钮,一个登录按钮。

二,index.wxss样式.item{display:flex;flex-direction:row;margin-left:20rpx;margin-top:25rpx;padding-bottom:25rpx;border-bottom:1pxsolidgainsboro;}.tip{font-size:0.5rem;color:red;}.tip2{font-size:0.8rem;color:black;}.btn{color:white;background:#0271c1;font-size:0.9rem;width:90%;margin-top:60rpx;}.input{margin-left:40rpx;}.input2{width:50%;}.plac{color:#aab2bd;font-size:0.8rem;/*placeholder位置*//*text-align:right;*/}/*验证吗*/.code{width:160rpx;border:1pxsolid#0271c1;font-size:0.8rem;text-align:center;padding:10rpx;position:absolute;right:15rpx;}4.

样式我就不具体讲解了,重要的是下面的倒计时的js事件。

三,index.js实现倒计时效果1,首先看下倒计时实现的部分。上图红框里是我们实现倒计时的核心代码,可以看到我们主要是用了setInterval这个方法来实现每个1s的计时器。这里我们定义一个countDownTime,初始值为6s,然后我们每隔1s,对countDownTime做减1操作,直到countDownTime的值小于2,也就是等于1时,我们用clearInterval方法取消计时器。2,动态改变按钮文字颜色。这里之前经常有同学问过,怎么在js里动态改变小程序组件的样式。其实小程序这点做的不如vue好,不能在js里获取到组件的实例。所以我们就要换个方式了。!--这里我们同在在wxml里写style来实现样式的动态改变--textclass"code"style"color:{{codeColor}};"获取验证码/text5.

这个时候我们在去看第一个,倒计时里写的下面这段代码。这里就是用来动态改变按钮上文字颜色的方法。

if(countDownTime2){that.setData({codeColor:"#0271c1",codeText:"获取验证码"})}else{that.setData({codeColor:"#e6252b",codeText:"60s"})}6.

我们这里还有做一步处理,就是在倒计时过程中,用户不能再次点击获取验证吗的按钮,获取点击时要给用户提示。

下面把index.js的完整代码贴出来给大家//老师微信2501902696lettimeNum6//60秒倒计时letcountDownTimetimeNumlettimer;//计时器Page({data:{codeColor:"#0271c1",codeText:"获取验证码"},//获取验证码getCode(){if(countDownTimetimeNum){this.setInterval()this.setData({codeColor:"#e6252b",codeText:countDownTime+"s"})}else{wx.showToast({title:'请等待验证码',icon:"none"})}},//计时器setInterval:function(){constthatthistimersetInterval(function(){//设置定时器countDownTime--if(countDownTime2){clearInterval(timer)that.setData({codeColor:"#0271c1",codeText:"获取验证码"})countDownTimetimeNum}else{that.setData({codeColor:"#e6252b",codeText:countDownTime+"s"})}console.log(countDownTime+"s")},1000)},})7.

这样我们就能实现微信小程序在登录或者注册时实现验证码倒计时的效果了。

今天就先到这里,下一节给大家讲解手机号的校验,和验证码的随机生成。还有短信验证码的发送都会在后面的文章做讲解。敬请关注。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎