2012-02-12 5 views
1

ブラウザで新しいタブを開くときにjqueryのアニメーションを停止したいと思います。私のページをしばらく残して、しばらくしてから戻ってくるたびに、私のjqueryスライダーが狂ってしまい、スライドを変なのが私を止めなかったからです。何か解決策がありますか?ページがアクティブでないときにjqueryアニメーションを停止する方法

+0

関連するコードとともに詳細な例を掲載してください。私はあなたがすでにあなたの答えを持っていることを知っていますが、この全部が将来の読者にとって役に立たないでしょう。 – Sparky

答えて

3

これについては、アニメーションキューの作成と呼ばれています。新しいタブを開くときにアニメーションを停止するのではなく、アニメーションを開始する直前にstop()と入力します。このことができます

$('.some-selector').stop().slideUp(); 

希望... JavaScriptで

+0

ありがとう、これは私が探していたものです! – user794596

+0

この方法で 'stop'を使用すると、彼はどのように役立ちますか?「...私はしばらく後に戻ってきます。私のjqueryスライダーは狂っています...」 @ user794596、私はあなたが幸せだとうれしいですが、あなたの質問が書かれているように、この答えが何を解決するかははっきりしていません。あなたの質問を更新して、この答えでより意味をなさせるようにしてください。 – Sparky

6

window.addEventListener('focus', function() { 
    // code to start 
}); 
window.addEventListener('blur', function() { 
    // code to stop 
}); 

これは、例えば

....その前のアニメーションが継続する前に殺されていることを確認します

とjquery:

$(window).bind('focus', function() { 
    // code to start 
}); 
$(window).bind('blur', function() { 
    // code to stop 
}); 
+0

よろしくお願いいたします。これは素晴らしい解決策です。 – user794596

+0

['.bind()'](http://api.jquery.com/bind/)は古い方法です。 jQuery 1.7以降では... ['.on()'が推奨されるメソッドです](http://api.jquery.com/on/)。 – Sparky

+0

この解決法は私のために本当にうまくいった。ありがとう! –

関連する問題