解决切后台后定时器继续问题

// 解决定时器切后台时间停止问题(that.orderData.valid_order_period 此为页面显示定时器)

    addVisibilitychange() {
      let that = this;
      let start, end, s;
      document.addEventListener('visibilitychange', function() {
        if(document.visibilityState == 'hidden') {
          start = new Date().getTime();  //开始切后台时间戳
        }else if(document.visibilityState == 'visible') {
          end = new Date().getTime();   //切后台之后返回显示的时间戳
          s = Math.floor((end - start)/1000);
          that.orderData.valid_order_period = that.orderData.valid_order_period - s;
          if(that.orderData.valid_order_period <= 0) {
            that.orderData.valid_order_period = 0;
            window.clearInterval(that.timer);
          }
        }else { }
      })
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,039评论 3 119
  • 上大学时,同专业的一个男生在宿舍楼的楼道里跟我表白,我说我已经有男朋友了。 其实有个屁,我连女朋友都没有。 老姐问...
    商业狗张小本阅读 2,444评论 5 3
  • 感谢你当初的不答应之恩,要不然,我也不会这么无法忘怀。 我不知道,有没有人跟我一样,总想着找个阳光明媚的日子,去跟...
    冰婗阅读 1,670评论 4 5
  • 之前在新百干过两年,对于新百的领导我很熟悉,他们经常会在过节前期问我,你们商场活动是什么?而保利也会问我知不知...
    姜杨Ada阅读 994评论 0 0