js倒计时锁屏解决方案

2017-11-06  本文已影响327人  kate2020
// 两个倒计时 一个锁屏时调用 一个非锁屏时调用 放在闭包中阻止自执行
  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);
  }
上一篇 下一篇

猜你喜欢

热点阅读