最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

基于vue、react实现倒计时效果

来源:动视网 责编:小OO 时间:2020-11-27 21:51:56
文档

基于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。
推荐度:
导读本文实例为大家分享了基于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。


本文实例为大家分享了基于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} 
onClick={this.getPhone} >
{this.state.btnText}
</button>

文档

基于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。
推荐度:
标签: VUE 倒计时 React
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top