微信小程序实现验证码倒计时

微信小程序实现验证码倒计时

本文实例为大家分享了微信小程序实现验证码倒计时的具体代码,供大家参考,具体内容如下

wxml代码:

<view class='container'>   <form bindsubmit='denglu'>     <view class='list'>       <view class='left'>         <label>手机号:</label>         <input type='number' name="tel" bindinput='shj' maxlength='11' placeholder='请输入手机号'></input>       </view>       <view class='right'></view>     </view>     <view class='list border'>       <view class='left'>         <label>验证码:</label>         <input type='number' name="code" placeholder='请输入验证码'></input>       </view>       <view class='right'>         <button class='send' wx:if="{{isShow}}" catchtap='send'>发送验证码</button>         <button class='send' disabled='{{true}}' wx:else>{{countdown}}秒后重新发送</button>       </view>     </view>     <button form-type='submit' class='btn'>登录</button>   </form> </view>

js代码:

const app = getApp() Page({   /**    * 页面的初始数据    */   data: {     countdown: 60,     isShow:true   },   //倒计时   count:function(that){     var interval = setInterval(function () {       var countdown = that.data.countdown;       if (countdown == 0) {         that.setData({           isShow: true,           countdown: 60         })         clearInterval(interval)       } else {         countdown--;         that.setData({           isShow: false,           countdown: countdown         })       }     }, 1000)   },   //设置手机号   shj: function (e) {     this.setData({       tel: e.detail.value     })   },   //获取验证码   send: function () {     var that=this;     wx.showToast({       title: '验证码发送成功',       icon: 'none',       duration: 1000,       success: function () {         that.count(that)       }     })   },    //登录   denglu:function(e){      console.log(e.detail.value)   },   /**    * 生命周期函数--监听页面加载    */   onLoad: function (options) {   }, })

wxss代码:

.list{   background-color: white;   font-size: 32rpx;   padding: 20rpx 30rpx;   display: flex;   justify-content: space-between;   align-content: center;   align-items: center } .border{   border-top: 1rpx solid #f4f4f4 } .left{   display: flex;   align-content: center;   align-items: center } .left>label{   width: 140rpx } .left>input{   font-size: 30rpx } .right{   width:240rpx;   text-align: right;   color: #ff9900;   font-size: 30rpx } .send{   background-color: #3296fa;   color: white;   line-height: 60rpx;   font-size: 30rpx;   border-radius: 0;   padding-left: 0;   padding-right: 0 } .btn{   background-color: #3296fa;   color: white;   line-height: 90rpx;   font-size: 32rpx;   border-radius: 0;   margin-top: 100rpx; }

推荐阅读