vue实现倒计时功能
简单介绍下倒计时功能html如下:<p>倒计时:{{hour}}:{{minute}}:{{second}}</p>js如下:<script type="text/javascript">new Vue({el: "#page",data() {return {hours: 1,
·
简单介绍下倒计时功能
html如下:
<p>倒计时:{{hour}}:{{minute}}:{{second}}</p>
js如下:
<script type="text/javascript">
new Vue({
el: "#page",
data() {
return {
hours: 1,
minutes: 10,
seconds: 0
}
},
mounted() {
this.add();
},
methods: {
// 防止数值小于10时,出现一位数
num(n) {
return n < 10 ? '0' + n : '' + n
},
// 倒计时函数
add() {
let time = window.setInterval( ()=> {
if (this.hours !== 0 && this.minutes === 0 && this.seconds === 0) {
this.hours -= 1;
this.minutes = 59;
this.seconds = 59;
} else if (this.hours === 0 && this.minutes !== 0 && this.seconds ===
0) {
this.minutes -= 1;
this.seconds = 59;
} else if (this.hours === 0 && this.minutes === 0 && this.seconds ===
0) {
this.seconds = 0
window.clearInterval(time)
} else if (this.hours !== 0 && this.minutes !== 0 && this.seconds ===
0) {
this.minutes -= 1;
this.seconds = 59;
} else {
this.seconds -= 1;
}
}, 1000)
}
},
watch: {
// 监听数值变化
second: {
handler(newVal) {
this.num(newVal)
}
},
minute: {
handler(newVal) {
this.num(newVal)
}
},
hour: {
handler(newVal) {
this.num(newVal)
}
}
},
computed: {
// 初始化数据
second() {
return this.num(this.seconds)
},
minute() {
return this.num(this.minutes)
},
hour() {
return this.num(this.hours)
}
}
})
</script>
num函数是防止小于10时出现的个位数,add函数主要为数据判断
具体样式可以自己去调
转载自: https://blog.csdn.net/weixin_45122120/article/details/102874451
更多推荐
已为社区贡献1条内容
所有评论(0)