<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
相关推荐
GIS开发特训营2 分钟前
Vue零基础教程|从前端框架到GIS开发系列课程(七)响应式系统介绍Cachel wood28 分钟前
python round四舍五入和decimal库精确四舍五入学代码的小前端30 分钟前
0基础学前端-----CSS DAY9joan_8534 分钟前
layui表格templet图片渲染--模板字符串和字符串拼接还是大剑师兰特1 小时前
什么是尾调用,使用尾调用有什么好处?m0_748236111 小时前
Calcite Web 项目常见问题解决方案Watermelo6171 小时前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用m0_748248941 小时前
HTML5系列(11)-- Web 无障碍开发指南m0_748235612 小时前
从零开始学前端之HTML(三)一个处女座的程序猿O(∩_∩)O3 小时前
小型 Vue 项目,该不该用 Pinia 、Vuex呢?