js定时器 离开当前页面任然执行的问题

今天在博客上看到有人问

  js定时器-----离开当前页面原本匀速运动的div加速了,回到页面若干时间恢复匀速???

  他是js定时器控制一个盒子做旋转动画 离开页面后js还在执行 但是盒子这个dom却被浏览器消除了 以至于再次进入该页面时动画会加速执行

解决方法 离开页面时清除定时器 进入时重新开启定时器

  

document.addEventListener("visibilitychange", function () {

   if (!document.hidden) {

      //处于当前页面

      rotate();

      timer = setInterval(() => {

        rotate();

      }, 1000);

      console.log('active');

    } else {

      clearInterval(timer);

   }

});

问题原地址

猜你喜欢

转载自www.cnblogs.com/wang-xx/p/11251420.html