<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
相关推荐
zfj3211 分钟前
vscode是js开发的,为什么能支持golang java等各种语言开发GDAL17 分钟前
Mapbox GL JS 核心表达式:`==` 相等判断完全教程二两锅巴33 分钟前
📺 无需Electron!前端实现多显示器浏览器窗口精准控制与通信炸土豆37 分钟前
防抖节流里的this传递用户40993225021237 分钟前
Vue3中动态样式数组的后项覆盖规则如何与计算属性结合实现复杂状态样式管理?山璞40 分钟前
Flutter3.32 中使用 webview4.13 与 vue3 项目的 h5 页面通信,以及如何调试努力早日退休43 分钟前
Antd Image标签父元素会比图片本身高几个像素的原因林希_Rachel_傻希希43 分钟前
手写Promise--教学版本ETA81 小时前
`console.log([1,2,3].map(parseInt))` 深入理解 JavaScript 中的高阶函数与类型机制呼叫69451 小时前
图片列表滚动掉帧的原因分析与解决方案