2024年Web前端最新Vue做的时间倒计时组件(精确到秒)(3),几个月没有工作面试怎么说

最后

一个好的心态和一个坚持的心很重要,很多冲着高薪的人想学习前端,但是能学到最后的没有几个,遇到困难就放弃了,这种人到处都是,就是因为有的东西难,所以他的回报才很大,我们评判一个前端开发者是什么水平,就是他解决问题的能力有多强。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

分享一些前端面试题以及学习路线给大家

return time;

}

},

mounted() {

this.countDown();

},

watch: {

duration() {

this.countDown();

},

refreshCounter() {

this.countDown();

}

},

methods: {

durationFormatter(time) {

if (!time) return { ss: 0 };

let t = time;

const ss = t % 60;

t = (t - ss) / 60;

if (t < 1) return { ss };

const mm = t % 60;

t = (t - mm) / 60;

if (t < 1) return { mm, ss };

const hh = t % 24;

t = (t - hh) / 24;

if (t < 1) return { hh, mm, ss };

const dd = t;

return { dd, hh, mm, ss };

},

countDown() {

// eslint-disable-next-line no-unused-expressions

this.curTime = Date.now();

this.getTime(this.duration);

},

getTime(time) {

// eslint-disable-next-line no-unused-expressions

this.timer && clearTimeout(this.timer);

if (time < 0) {

return;

}

// eslint-disable-next-line object-curly-newline

const { dd, hh, mm, ss } = this.durationFormatter(time);

this.days = dd || 0;

// this.hours = 00${hh || ''}.slice(-2);

// this.mins = 00${mm || ''}.slice(-2);

// this.seconds = 00${ss || ''}.slice(-2);

this.hours = hh || 0;

this.mins = mm || 0;

this.seconds = ss || 0;

this.timer = setTimeout(() => {

const now = Date.now();

const diffTime = Math.floor((now - this.curTime) / 1000);

const step = diffTime > 1 ? diffTime : 1; // 页面退到后台的时候不会计时,对比时间差,大于1s的重置倒计时

this.curTime = now;

this.getTime(time - step);

}, 1000);

}

}

};

最后

一个好的心态和一个坚持的心很重要,很多冲着高薪的人想学习前端,但是能学到最后的没有几个,遇到困难就放弃了,这种人到处都是,就是因为有的东西难,所以他的回报才很大,我们评判一个前端开发者是什么水平,就是他解决问题的能力有多强。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

分享一些前端面试题以及学习路线给大家

解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

分享一些前端面试题以及学习路线给大家

[外链图片转存中…(img-sUqzbwRV-1715437708893)]

[外链图片转存中…(img-SsqVzWpu-1715437708894)]

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Vue.js来创建一个倒计时的时分组件。下面是一个简单的示例: ```html <template> <div> <div>{{ displayTime }}</div> </div> </template> <script> export default { data() { return { countdownTime: 3600, // 倒计时时间,单位为 displayTime: "" // 格式化后的显示时间 }; }, mounted() { this.startCountdown(); }, methods: { startCountdown() { this.updateDisplayTime(); setInterval(() => { if (this.countdownTime > 0) { this.countdownTime--; this.updateDisplayTime(); } }, 1000); }, updateDisplayTime() { const hours = Math.floor(this.countdownTime / 3600); const minutes = Math.floor((this.countdownTime % 3600) / 60); const seconds = this.countdownTime % 60; this.displayTime = `${this.formatTime(hours)}:${this.formatTime( minutes )}:${this.formatTime(seconds)}`; }, formatTime(time) { return time.toString().padStart(2, "0"); } } }; </script> ``` 在这个示例中,我们创建了一个Vue组件,用于显示倒计时的时分。首先,在`data`中定义了`countdownTime`(倒计时时间,单位为)和`displayTime`(格式化后的显示时间)两个变量。在组件被挂载后,我们调用`startCountdown`方法来开始倒计时。 `startCountdown`方法使用`setInterval`定时器来每更新倒计时时间,并调用`updateDisplayTime`方法来更新显示时间。在`updateDisplayTime`方法中,我们使用`Math.floor`和模运算来计算小时、分钟和数,并调用`formatTime`方法将时间格式化为两位数的字符串。 最后,在模板中使用插值绑定将`displayTime`显示出来。 你可以根据需要自定义样式和功能,这只是一个非常简单的示例。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值