前にほかっちゃさんの記事見てたの思い出した読んでも全くピンとこなかったアレやった
非アクティブなときのsetTimeout/setIntervalとrequestAnimationFrame – hokaccha hamalog v3
確かにrequestAnimationFrameで挟むとキューが溜まらなくなった
今回はスライダーを共同制作者がsetTimeoutで回していて、ウィンドウ見てない時にそのキューが溜まったので「???」となった。
timer = setTimeout(function(){
loop();
}, 6000 + duration);
これを
timer = setTimeout(function(){
requestAnimationFrame(function() { loop() });
}, 6000 + duration);
にすることで回避。
対応ブラウザ 〜 Androidは4.4から
Can I use… Support tables for HTML5, CSS3, etc
http://caniuse.com/#feat=requestanimationframe
こんなのもあった(使ってないけど)
setinterval関数が実行されまくるやつの回避 | UNIRRY
http://unirry.com/jquery_slide_setinterval-638.html
コメントを残す