vue开发TIPS:点击按钮控制计时小应用。点击开始按钮,马上开始计时,然后也可以暂停。如何实现呢,直接上代码吧。
HTML
<div class="time" v-if="rptType">{{str}}</div> <div class="receipt" :class="rptType?'jdz':'jiedan'" @click="receipt">开始</div>
JS
data(){ return{ rptType: false,//状态 h:0,//定义时,分,秒,毫秒并初始化为0; m:0, ms:0, s:0, time:0, str:'', } }, mounted:function(){ this.$nextTick(function () {//整个视图都渲染完毕 }) }, methods:{ getTask: function(e){ this.taskType = e; }, //开始 receipt: function() { this.rptType = !this.rptType; if(this.rptType){ this.time=setInterval(this.timer,50); }else{ this.reset() } }, timer: function(){ //定义计时函数 this.ms=this.ms+50; //毫秒 if(this.ms>=1000){ this.ms=0; this.s=this.s+1; //秒 } if(this.s>=60){ this.s=0; this.m=this.m+1; //分钟 } if(this.m>=60){ this.m=0; this.h=this.h+1; //小时 } this.str =this.toDub(this.h)+":"+this.toDub(this.m)+":"+this.toDub(this.s)+""/*+this.toDubms(this.ms)+"毫秒"*/; // document.getElementById('mytime').innerHTML=h+"时"+m+"分"+s+"秒"+ms+"毫秒"; }, toDub: function(n){ //补0操作 if(n<10){ return "0"+n; } else { return ""+n; } }, reset: function(){ //重置 clearInterval(this.time); this.h=0; this.m=0; this.ms=0; this.s=0; this.str="00:00:00"; }, }
放到开发软件里试试吧!
网友评论文明上网理性发言 已有0人参与
发表评论: