<template>
<div class="timer">
<p>{{ formatTime }}</p>
<button @click="startTimer" v-if="!isTiming">开始计时</button>
<button @click="stopTimer" v-else>停止计时</button>
</div>
</template>
<script>
export default {
data() {
return {
isTiming: false,
time: 0,
timer: null
}
},
computed: {
formatTime() {
const minutes = Math.floor(this.time / 60)
const seconds = this.time % 60
return `${minutes}:${seconds < 10 ? '0' : ''}${seconds}`
}
},
methods: {
startTimer() {
this.isTiming = true
this.timer = setInterval(() => {
this.time++
}, 1000)
},
stopTimer() {
this.isTiming = false
clearInterval(this.timer)
}
}
}
</script>
<style>
.timer {
text-align: center;
font-size: 24px;
margin-top: 50px;
}
</style>
在Uni-app中实现计时器效果
蜕变菜鸟2024-08-27 17:46
相关推荐
ttod_qzstudio1 小时前
深入理解 Vue 3 的 h 函数:构建动态 UI 的利器芳草萋萋鹦鹉洲哦1 小时前
【elemen/js】阻塞UI线程导致的开关卡顿如何优化_大龄1 小时前
前端解析excel1***s6321 小时前
Vue图像处理开发槁***耿1 小时前
JavaScript在Node.js中的事件发射器一叶茶2 小时前
移动端平板打开的三种模式。前端大卫2 小时前
一文搞懂 Webpack 分包:async、initial 与 all 的区别【附源码】U***49832 小时前
JavaScript在Node.js中的StrapiWant5952 小时前
HTML音乐圣诞树老前端的功夫2 小时前
前端浏览器缓存深度解析:从网络请求到极致性能优化