Firefox と Chrome でタブを切り替えるときの setInterval の奇妙な効果の調査と解決策! _JavaScript スキル

WBOY
リリース: 2016-05-16 18:00:06
オリジナル
1407 人が閲覧しました

前回の記事: Zhubajie.com の左下のテキストスクロールがうまく機能すると思うので、自分で調べて自分なりに実装してみました。

この効果はありますが、影響はほとんどありません。デモの効果は絶大!

インターネット上の一部の人々もこの問題に遭遇しています。以下の投稿アドレスを参照してください。

多くの人がそれについて議論しましたが、答えは出ていません。

いくら考えても分からない!

今日、突然思いついたのですが、スレッドの概念かもしれませんが、詳しい理由がわからないので、教えていただければ幸いです。

デモ内の黒い Div はブラウザのタブ切り替えの影響を受けません

赤い Div が影響を受けます。
HTML:

コードをコピー コードは次のとおりです:

ブラウザのタブ切り替えの影響を受けています。 5555


javascript:
コードをコピー コードは次のとおりです:

(function(){
var elem = Meng.getId('move'),
elem2 = Meng.getId('move2'),
pos = Meng.getElemViewPosition( elem),
view = Meng.getBrowserView(),
//グレーブロック移動関数
move = function(){
var t1 = Meng.animate(elem,{top:0,left :0} ,{top:view.height-100,left:view.width-100},3000,function(){
var t2 = Meng.animate(elem,{left:view.width-100}, {左: 100-view.width},3000,function(){
var t3 = Meng.animate(elem,{top:view.height-100},{top:100-view.height},3000, function() {
move();//t3 が移動を完了したことを確認した後、move() 関数をコールバックします
});
};
move();
//赤いブロックの移動関数
Meng.setStyle(elem2,{top:0,left:(view.width-100) 'px'}); var move2 = function( ){
var t1 = Meng.animate(elem2,{top:0,left:view.width-100},{top:view.height-100,left:100-view.width} ,3000,function( ){
var t2 = Meng.animate(elem2,{top:view.height-100},{top:100-view.height},3000,function(){
var t3 = Meng.animate( elem2,{left:0},{left:view.width-100},3000,function(){
}); };
move2();
setInterval(function(){move2();},9050);


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート