hirokonaBlog

ググる→忘れそう→即時メモ 京都のWebデザイナーの備忘録

setTimeoutやsetIntervalでブラウザ見てない時にキューが溜まって戻ったら一気に処理されるアレ

前にほかっちゃさんの記事見てたの思い出した読んでも全くピンとこなかったアレやった

非アクティブなときの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


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください