开发微信小程序_基于vue、react完成倒计时效果

日期:2021-01-07 类型:科技新闻 

关键词:在线网页制作,建网页,个人简介网页制作,简单网页,建立网页

基于vue、react实现倒计时效果       这篇文章主要为大家详细介绍了基于vue、react实现倒计时效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了基于vue、react实现倒计时效果的具体代码,供大家参考,具体内容如下

Vue

方案一:俩个元素

HTML:

 div id="example" 
 button @click="send" 
 span v-if="sendMsgDisabled" {{time+'秒后获取'}} /span 
 span v-if="!sendMsgDisabled" send /span 
 /button 
 /div 

JS:

var vm = new Vue({
 el: '#example',
 data() {
 return {
 time: 60, // 发送验证码倒计时
 sendMsgDisabled: false
 methods: {
 send() {
 let me = this;
 me.sendMsgDisabled = true;
 let interval = window.setInterval(function() {
 if ((me.time--) = 0) {
 me.time = 60;
 me.sendMsgDisabled = false;
 window.clearInterval(interval); //停止
 }, 1000);
 }) 

方案二:一个元素,改变文字

HTML:

 button type="button" @click='delusercache()' :disabled="sendMsgDisabled" v-text="btnText" /button 
//倒计时按钮禁用:disabled="sendMsgDisabled

JS:

var vm = new Vue({
 el: '#example',
 data() {
 return {
 time: 60, // 发送验证码倒计时
 sendMsgDisabled: false //按钮可用
 methods: {
 time(){
 this.sendMsgDisabled= true; //按钮不可用
 let interval = window.setInterval(()= {
 this.btnText = this.time + 's重新发送'
 if ((this.time--) = 0) {
 this.time = 120;
 this.btnText ='发送验证码'
 this.sendMsgDisabled= false; //按钮可用
 window.clearInterval(interval);
 }, 1000);
 }) 

React

引用块内容

time = () = {
 this.setState({ 
 times: this.state.times-1,
 btnText: '' + this.state.times + 's重新发送)',
 // discodeBtn: false,
 clearInterval:true
 var siv = setInterval(() = {
 this.setState({ 
 times: this.state.times-1,
 btnText: '' + this.state.times + 's重新发送)',
 // discodeBtn: false,
 clearInterval:true
 }, () = {
 if (this.state.times === 0) {
 clearInterval(siv);
 this.setState({ 
 times: 60,
 btnText: '发送验证码', 
 // discodeBtn: true,
 clearInterval:false,
 phone:false,
 isDisabled:false
 }, 1000);
 button 
className={(this.state.clearInterval 'send-btn-disabled-m' : 'send-btn-default')} 
disabled={this.state.isDisabled} 
 this.getPhone} 
{this.state.btnText}
 /button 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。