vue实现点击按钮倒计时

 更新时间:2022年07月11日 09:03:35   作者:饥饿的帕尼尼  
这篇文章主要为大家详细介绍了vue实现点击按钮倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了vue实现点击按钮倒计时的具体代码,供大家参考,具体内容如下

实现效果:

1.点击开始按钮启动计时

2.点击重置按钮计时恢复到00:00:00

3.点击暂停按钮暂停计时

Vue代码:

<template>
  <div>
    <div class="timeContainer">{{ time }}</div>
    <a-button style="margin-right: 20px" type="primary" @click="start"
      >开始</a-button
    >
    <a-button style="margin-right: 20px" type="primary" @click="reset"
      >重置</a-button
    >
    <a-button type="primary" @click="end">暂停</a-button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      flag: null,
      hour: 0,
      minute: 0,
      second: 0,
      time: "00:00:00",
    };
  },
  methods: {
    //开始计时
    start() {
      this.flag = setInterval(() => {
        this.second = this.second + 1;
        if (this.second >= 60) {
          this.second = 0;
          this.minute = this.minute + 1;
        }

        if (this.minute >= 60) {
          this.minute = 0;
          this.hour = this.hour + 1;
        }
        this.time =
          this.complZero(this.hour) +
          ":" +
          this.complZero(this.minute) +
          ":" +
          this.complZero(this.second);
      }, 1000);
    },
    //重新计时
    reset() {
      window.clearInterval(this.flag);
      this.hour = 0;
      this.minute = 0;
      this.second = 0;
      this.time = "00:00:00";
    },
    //暂停计时
    end() {
      this.flag = clearInterval(this.flag);
    },
    //补零
    complZero(n) {
      return n < 10 ? "0" + n : "" + n;
    },
  },
};
</script>
<style>
.timeContainer {
  font-size: 40px;
  margin-bottom: 10px;
}
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • vue的列表交错过渡实现代码示例

    vue的列表交错过渡实现代码示例

    这篇文章主要介绍了vue的列表交错过渡实现代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 如何在Vue3中使用Ref访问DOM元素详解

    如何在Vue3中使用Ref访问DOM元素详解

    在Vue3中可以使用`ref`来获取DOM元素,下面这篇文章主要给大家介绍了关于如何在Vue3中使用Ref访问DOM元素的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • vue中路由router配置步骤详解

    vue中路由router配置步骤详解

    vue的主要思想是组件化开发,路由用来配置组件对应展示路径,本文给大家介绍vue中路由router配置步骤,创建路由文件——使用路由——配置路由出口,使路由配置内容展示在页面上,感兴趣的朋友跟随小编一起看看吧
    2023-12-12
  • 简述Vue中容易被忽视的知识点

    简述Vue中容易被忽视的知识点

    这篇文章主要介绍了简述Vue中容易被忽视的知识点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • vue2 element 弹出框拖拽会出现一层阴影问题解决方法

    vue2 element 弹出框拖拽会出现一层阴影问题解决方法

    这篇文章主要介绍了vue2 element 弹出框拖拽会出现一层阴影问题解决方法,因增加 draggable 属性导致我弹窗表单清空文本框时,从右向左选中字体会出现拖拽阴影效果,本文给大家介绍vue2 element 弹出框拖拽会出现一层阴影问题解决方法,感兴趣的朋友一起看看吧
    2024-01-01
  • vue 事件获取当前组件的属性方式

    vue 事件获取当前组件的属性方式

    这篇文章主要介绍了vue 事件获取当前组件的属性方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Vue实现路由跳转至外界页面

    Vue实现路由跳转至外界页面

    这篇文章主要介绍了Vue实现路由跳转至外界页面方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • vue路由实现登录拦截

    vue路由实现登录拦截

    这篇文章主要介绍了vue路由如何实现登录拦截,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下
    2021-03-03
  • 如何使用crypto-js对文件上传下载进行加密处理

    如何使用crypto-js对文件上传下载进行加密处理

    这篇文章主要介绍了如何使用crypto-js对文件上传下载进行加密处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 前端vue框架select下拉数据量过大造成卡顿问题解决办法

    前端vue框架select下拉数据量过大造成卡顿问题解决办法

    这篇文章主要给大家介绍了关于前端vue框架select下拉数据量过大造成卡顿问题解决办法,文中通过示例代码介绍的非常详细,对大家学习或者使用select具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07

最新评论