// 监听当前页面的显示状态
document.addEventListener("visibilitychange", function () {
//下面代码不考虑document.visibilityState是'prerender'的情况
var visibilityState = document.visibilityState=='hidden' ?0:1
// 表示当前页面是显示或者隐藏状态
if (visibilityState === 0) {
// 如果隐藏(最小化,其他网页)
// 关闭定时器
clearInterval(interIndex)
} else if (visibilityState === 1) {
// 开启定时器
// timer = setInterval(()=>{},1000)
interIndex = window.setInterval(move, time)
}
}, false);
// document 身上有一个属性叫作 visibilityState,取值如下:
'hidden':此时页面对用户不可见。即文档处于背景标签页或者窗口处于最小化状态,或者操作系统正处于 '锁屏状态'
'prerender' : 页面此时正在渲染中,因此是不可见的 (considered hidden for purposes of document.hidden). 文档只能从此状态开始,永远不能从其他值变为此状态。注意: 浏览器支持是可选的。
'visible':此时页面内容至少是部分可见. 即此页面在前景标签页中,并且窗口没有最小化。