今天在博客上看到有人問
js定時器-----離開當前頁面原本勻速運動的div加速了,回到頁面若干時間恢復勻速???
他是js定時器控制一個盒子做旋轉動畫 離開頁面后js還在執行 但是盒子這個dom卻被瀏覽器消除了 以至於再次進入該頁面時動畫會加速執行
解決方法 離開頁面時清除定時器 進入時重新開啟定時器
document.addEventListener("visibilitychange", function () {
if (!document.hidden) {
//處於當前頁面
rotate();
timer = setInterval(() => {
rotate();
}, 1000);
console.log('active');
} else {
clearInterval(timer);
}
});