小程序短信登录倒计时功能如何实现?
- 内容介绍
- 相关推荐
本文共计512个文字,预计阅读时间需要3分钟。
在平时代的短信登录中,发送短信验证码后,会显示倒计时。这个倒计时如何实现呢?我们可以通过以下WXML文件来直接输出结果:
{{countdown}}秒后重新获取
这里,我们使用了`wx:if`来根据`showCountdown`的值决定是否显示倒计时。倒计时的实现通常在对应的JavaScript文件中完成,例如:
javascriptPage({ data: { showCountdown: false, countdown: 60 }, formSubmit: function(e) { // 表单提交逻辑 }, formReset: function(e) { // 表单重置逻辑 }, inputCode: function(e) { // 输入验证码逻辑 }, startCountdown: function() { this.setData({ showCountdown: true }); let timer=setInterval(()=> { if (this.data.countdown > 0) { this.setData({ countdown: this.data.countdown - 1 }); } else { this.setData({ showCountdown: false, countdown: 60 }); clearInterval(timer); } }, 1000); }});
这样,每次用户请求验证码时,都会启动一个60秒的倒计时。当倒计时结束时,`showCountdown`会被设置为`false`,倒计时文本也会消失。
在平时的短信登录中,当发送短信验证码后会显示倒计时,那么这个倒计时如何实现呢?
wxml文件
<view class='Form'> <form bindsubmit="formSubmit" bindreset="formReset" class='forms'> <view class="fidpas"> <input type="number" class="phonenumber" placeholder="请输入手机号" name="phonenumber" /> <input type="number" class="message" placeholder="请输入短信验证码" name="msg" /> <button class="{{sendmsg}}" bindtap="sendmessg" class='btn'>{{getmsg}}</button> </view> <button class="lgbut" formType="submit" type='warn'>下一步</button> </form> </view>
js文件
let timeId = null; Page({ data: { sendmsg: "sendmsg", getmsg: "获取短信验证码", }, sendmessg: function (e) { var timer=1; if (timer == 1) { timer = 0 var that = this var time = 60 that.setData({ sendmsg: "sendmsgafter", }) var inter = setInterval(function () { that.setData({ getmsg: time + "s后重新发送", }) time -- if (time < 0) { timer = 1 clearInterval(inter) that.setData({ sendmsg: "sendmsg", getmsg: "获取短信验证码", }) } }, 1000) } }, })
wxss文件
.Form{ margin-top: 80px; } .forms input{ padding: 10px ; } .phonenumber{ border-bottom: 1px solid #ccc;} .message{ display: inline-block } .btn{ display: inline-block; font-size: 14px; } .forms button{ margin-top: 15px; }
效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计512个文字,预计阅读时间需要3分钟。
在平时代的短信登录中,发送短信验证码后,会显示倒计时。这个倒计时如何实现呢?我们可以通过以下WXML文件来直接输出结果:
{{countdown}}秒后重新获取
这里,我们使用了`wx:if`来根据`showCountdown`的值决定是否显示倒计时。倒计时的实现通常在对应的JavaScript文件中完成,例如:
javascriptPage({ data: { showCountdown: false, countdown: 60 }, formSubmit: function(e) { // 表单提交逻辑 }, formReset: function(e) { // 表单重置逻辑 }, inputCode: function(e) { // 输入验证码逻辑 }, startCountdown: function() { this.setData({ showCountdown: true }); let timer=setInterval(()=> { if (this.data.countdown > 0) { this.setData({ countdown: this.data.countdown - 1 }); } else { this.setData({ showCountdown: false, countdown: 60 }); clearInterval(timer); } }, 1000); }});
这样,每次用户请求验证码时,都会启动一个60秒的倒计时。当倒计时结束时,`showCountdown`会被设置为`false`,倒计时文本也会消失。
在平时的短信登录中,当发送短信验证码后会显示倒计时,那么这个倒计时如何实现呢?
wxml文件
<view class='Form'> <form bindsubmit="formSubmit" bindreset="formReset" class='forms'> <view class="fidpas"> <input type="number" class="phonenumber" placeholder="请输入手机号" name="phonenumber" /> <input type="number" class="message" placeholder="请输入短信验证码" name="msg" /> <button class="{{sendmsg}}" bindtap="sendmessg" class='btn'>{{getmsg}}</button> </view> <button class="lgbut" formType="submit" type='warn'>下一步</button> </form> </view>
js文件
let timeId = null; Page({ data: { sendmsg: "sendmsg", getmsg: "获取短信验证码", }, sendmessg: function (e) { var timer=1; if (timer == 1) { timer = 0 var that = this var time = 60 that.setData({ sendmsg: "sendmsgafter", }) var inter = setInterval(function () { that.setData({ getmsg: time + "s后重新发送", }) time -- if (time < 0) { timer = 1 clearInterval(inter) that.setData({ sendmsg: "sendmsg", getmsg: "获取短信验证码", }) } }, 1000) } }, })
wxss文件
.Form{ margin-top: 80px; } .forms input{ padding: 10px ; } .phonenumber{ border-bottom: 1px solid #ccc;} .message{ display: inline-block } .btn{ display: inline-block; font-size: 14px; } .forms button{ margin-top: 15px; }
效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

