第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

完美解決setInterval在瀏覽器切換時(shí)加速的問題

標(biāo)簽:
JavaScript 前端工具

JavaScript中当我们切换浏览器的时候,setInterval会加快速度

导致这个原因是

发现这是因为浏览器本着节省内存的性质,当切换到其他页面时,采油系统页面的定时器不运动,但是动画依然排列,当切换回来的时候,动画加速运动,出现错误,在轮播图之类的页面经常会发生这样的情况

在这里我们需要用到以下三个知识点

  • document.onvisibilitychange :

只要页面发生变化,不管是切换到其他的页面还是把浏览器缩小,都会触发这个事件。

  • document.hidden

这个是指当页面不是当前页面时为true,否则为false

  • document.visibilityState:

这个属性有四个值,分为是:visible,hidden,prerender,unloaded

visible 表示当前网页是可见或者是部分可见的。

hidden:当前网页是不可见的

prerender 网页内容被预渲染并且用户不可见

unloaded 如果文档被卸载,那么这个值将被返回

实际操作效果如下:

document.onvisibilitychange=function(){ console.log("hidden"+":"+document.hidden); console.log("visibilityState"+":"+document.visibilityState); }

执行效果如下:

解决setInterval在浏览器切换中的问题:

思路:如果页面是不可见的,那么我们就会清除定时器,如果页面是可见的,那么我们就重新开启定时器。

所以我们需要用document.onvisibilitychange进行监听,然后用document.visibilityState或者是document.hidden进行判断。

实际操作:

document.onvisibilitychange=function(){   if(document.visibilityState=="visible"){       timer=setInterval(slidemove, 1000);   }else{       clearInterval(timer);   } }

jq中animate的解决

如果用的是jq的animate这个方法,就只需要到这个方法的前面加上stop(true,true)

$(".slidePanel").stop(true,true).animate({ "left": -iNow*varWidth+"px", "speed":300 });

作者:蜗牛君_
链接:https://juejin.im/post/5b30a4a451882574ba421b68
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消