首页 > 其他分享 >vue-实现倒计时功能

vue-实现倒计时功能

时间:2022-08-28 22:13:24浏览次数:44  
标签:60 功能 vue min hr msec 倒计时 sec day

  • 模板
<div id="app">{{ `${day}天 ${hr}小时 ${min}分钟 ${sec}分钟` }}</div>
  • 数据
data() {
    return {
      day: 0,
      hr: 0,
      min: 0,
      sec: 0,
    }
},

mounted() {
    this.countdown()
},

methods: {
    // 倒计时方法
    countdown() {
      // 目标日期时间戳
      const end = Date.parse(new Date('2022-08-24 03:59:23'))
      // 当前时间戳
      const now = Date.parse(new Date())
      // 相差的毫秒数
      const msec = end - now

      //   console.log(msec)
      if (msec < 0) return

      // 计算时分秒数
      let day = parseInt(msec / 1000 / 60 / 60 / 24)
      let hr = parseInt((msec / 1000 / 60 / 60) % 24)
      let min = parseInt((msec / 1000 / 60) % 60)
      let sec = parseInt((msec / 1000) % 60)
      // 个位数前补零
      this.day = day
      this.hr = hr > 9 ? hr : '0' + hr
      this.min = min > 9 ? min : '0' + min
      this.sec = sec > 9 ? sec : '0' + sec
      // 赋值
      const that = this
      if (min >= 0 && sec >= 0) {
        //倒计时结束关闭订单
        if (min == 0 && sec == 0) {
          return
        }
        // 一秒后递归
        setTimeout(function () {
          that.countdown()
        }, 1000)
      }
    },
},

标签:60,功能,vue,min,hr,msec,倒计时,sec,day
From: https://www.cnblogs.com/tsalita/p/16633830.html

相关文章

  • Vue页面上实时显示当前时间,每秒更新
    有时候我们需要在页面上添加一个类似时钟的东西来实时显示当前时间,这个时候我们可以利用定时器来完成这个功能模板<divid="app">{{date}}</div>数据expo......
  • Apache2.4开启GZIP功能
    Apache2.4开启GZIP功能-老码农豆豆-博客园 https://www.cnblogs.com/fly_binbin/p/4253064.htmlHTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量......
  • vue router
    使用vite创建项目npminitvitevscode配置jsconfig.json{"include":["./src/**/*"],"compilerOptions":{"baseUrl":".",......
  • vue——nextTick函数
    一.nextTick的作用Vue.nextTick作用是在下一次DOM更新结束后执行其指定的回调。。那么我们的理解是:当数据发生变化之后,DOM视图并不会立即更新,如果我们在发生变化之......
  • UserServlet页面抽取、分类数据展示功能_分析
    UserServlet页面抽取  packagecn.itcast.travel.web.servlet;importcn.itcast.travel.domain.ResultInfo;importcn.itcast.travel.domain.User;importcn.itcast.......
  • 消除Vue重复路由报错
    在VUE中路由遇到Error:Avoidedredundantnavigationtocurrentlocation:报错显示是路由重复在router文件夹下的index.js中加入如下代码,错误消失constoriginalPush......
  • vue——消息订阅与发布(pubsub)
    一.消息订阅与发布:一种组件间通信的方式,适用于任意组件间通信订阅消息:设置消息名==>接收数据的组件进行订阅消息发布消息:传递消息内容==>传递数组的组件进行发布消......
  • vue——全局事件总线(GlobalEventBus)
    一.什么是全局事件总线?1.一种组件间通信的方式,适用于任意组件间通信。是根据VueComponent.prototype.__proto__=Vue.prototype的原理来进行全局引用二.全局事件总线......
  • perf基本使用功能
    perftop用于实时显示当前系统的性能统计信息。该命令主要用来观察整个系统当前的状态,比如可以通过查看该命令的输出来查看当前系统最耗时的内核函数或某个用户进程再往......
  • Vue3.0 编译做了哪些优化
    a.生成BlocktreeVue.js2.x的数据更新并触发重新渲染的粒度是组件级的,单个组件内部需要遍历该组件的整个vnode树。在2.0里,渲染效率的快慢与组件大小成正相关:组......