2013-05-06 6 views
6

最近、Javascript/jQueryでアニメーションを作成する作業を行いました。アニメーションは、ロンドン管マップの周りを動く円で構成されています。ステーションを通過するたびに、ステーション名に下線が引かれます。非アクティブなタブでのJavascript/Jqueryタイミングのエラー

私はまだそれを改良することに取り組んでおり、タブがアクティブでないときにページに戻ったときにシーケンスのタイミングを乱すと気づいています。私はそれをiframeの中に埋め込んでいるので、$(window).focus()または$(window).blur()を使うとうまくいかないようです。

jQueryのアニメーション機能を使用して円をアニメーション化し、テキストの下のすべての行に不透明度0を設定し、不透明度を100にアニメーション化するために遅延を入れます。 表示するリンクを下に入れましたアニメーションはそのままです。現在調整中のアニメーションには問題はありますが、非アクティブなタブの問題を修正する方法がわかりません。どんな援助もうまくいく。

withoutframe:フレーム http://www.gbutlercreative.co.uk/london/frame.html

+0

最大値のcssの不透明度は1ではありません。 –

+0

どのようにうまくいくか分かりませんが、私が持っていたアイデアは、不透明度を変更するタイミングを変更する代わりに、一番近い画像の不透明度を切り替えるx秒ごとに実行される?その後、時間に関係なく機能し、ハードコードされるアニメーションのステップになります。ちょっとしたアイデアは、イメージの数が多いためにパフォーマンスが低下することがあります。 – martincarlin87

+0

ありがとうございます。私はあなたが何を意味するのか見ていますが、このアニメーションの問題は正確なミリ秒でなければならないということです。それを見てのためのもの –

答えて

1

http://www.gbutlercreative.co.uk/london/index.html

私はあなたがアニメーションのコールバック関数を使用することができると思いますが、あなたはすべてのあなたのロジックを再コーディングする必要があります:

$(".icon") 
    .animate({left:'+=23px',top:'+=23px'},500,'linear',function(){$(".Chesham").animate({opacity:1},10);}) 
    .animate({left:'+=22px'},500,'linear',function(){$(".Chalfont").animate({opacity:1},10);}) 

すべての人に同じことをやってください。

+0

私はあなたがローストされた意味を参照してください。はい、これは機能します。それ以外のアニメーションがない場合は、アニメーションコールバック関数で再アニメーションを作成する必要がありますが、非アクティブの場合はアニメーションの速度を簡単に修正できるかどうかは疑問です。アクティブでないときにアニメーションを一時停止する、またはページがフォーカスを外しているときに円が異なる速度で動くようにすることができます。また、非アクティブ時には速度を強制的に維持することもできます。私はそれがSafariでは大丈夫だが、他のブラウザでは見えないことに気づいた。 –

+0

私はこの解決策にも同様の問題があることに気付きました。私はこれを私のjQueryに実装できるかどうか、どうすればいいのだろうかと思っていました。ありがとうございます://stackoverflow.com/questions/5927284/how-can-i-make-setinterval-also-work-when-a-tab-is-inactive-in-chrome –

関連する問題