本篇文章给大家带来的内容是关于vue组件的实例:vue组件如何实现倒计时?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一、效果图:

二、CSS代码
立即学习“前端免费学习笔记(深入)”;
.box{
width: 300px;
height: 100px;
line-height: 100px;
margin: 100px auto;
background-color: #eee;
text-align: center;
font-size: 30px;
color: #666;
}.count-number{
color: red;
font-size: 30px;
font-weight: bold;
}三、HTML代码
YDUI Touch专为移动端打造,在技术实现、交互设计上兼容主流移动设备,保证代码轻、性能高;使用 Flexbox 技术,灵活自如地对齐、收缩、扩展元素,轻松搞定移动页面布局;用 rem 实现强大的屏幕适配布局,等比例适配所有屏幕;自定义Javascript组件、Less文件、Less变量,定制一份属于自己的YDUI。
81
<p class="wrap">
<countdown seconds="15" index="1"></countdown>
<countdown seconds="30" index="2"></countdown></p>四、javascript代码
// 倒计时组件
Vue.component('countdown', {
props: ['seconds', 'index'],
data: () => {
return {
timerCount: 0
}
},
mounted() {
this.timing();
},
methods: {
timing() {
let startTime = localStorage.getItem(`startTime${this.index}`);
let nowTime = new Date().getTime();
if(startTime) {
let surplus = this.seconds - parseInt((nowTime-startTime) / 1000, 10);
this.timerCount = surplus <= 0 ? 0 : surplus;
} else {
this.timerCount = this.seconds;
localStorage.setItem(`startTime${this.index}`, nowTime);
}
let timer = setInterval(() => {
if(this.timerCount > 0 && this.timerCount <= this.seconds) {
this.timerCount--;
} else {
localStorage.removeItem(`startTime${this.index}`);
clearInterval(timer);
}
}, 1000);
}
},
template: `<div class="box">倒计时 <span class="count-number">{{timerCount < 10 ? '0' + timerCount : timerCount}}</span> 秒</div>`
});
// Vue实例
new Vue({
el: '.wrap'
});相关推荐:
以上就是VUE组件的实例:VUE组件如何实现倒计时?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号