js倒计时锁屏解决方案

// 两个倒计时 一个锁屏时调用 一个非锁屏时调用 放在闭包中阻止自执行
  var a = function () {setInterval(function(){
        timer()
      }, 1000)
    }
  var b = function () {setInterval(function(){
        timer()
      }, 1000)
    }

  // 判断系统
  var hidden, visibilityChange; 
  if (typeof document.hidden !== "undefined") {
    hidden = "hidden";
    visibilityChange = "visibilitychange";
  } else if (typeof document.msHidden !== "undefined") {
    hidden = "msHidden";
    visibilityChange = "msvisibilitychange";
  } else if (typeof document.webkitHidden !== "undefined") {
    hidden = "webkitHidden";
    visibilityChange = "webkitvisibilitychange";
  }
  
  // 锁屏和非锁屏执行逻辑
  function handleVisibilityChange() {
    if (document.hidden) {
      b()
    } else {
      a()
    }
  }
  
  // 添加监听事件
  if (typeof document.addEventListener === "undefined" || typeof document[hidden] === "undefined") {
    
  } else {
    document.addEventListener(visibilityChange, handleVisibilityChange(), false);
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容