2016-07-09 8 views
1

.stop(false,true)をすべてのアニメーションにワンタッチで適用する方法はありますか?複数の/すべてのアニメーションに1行で.stop(false、true)を追加

が言うには、私のglobal.jsに私は実際にこれらのアニメーションのそれぞれに白にせずに.stop(false, true)を持っているすべての.animatefadeInfadeOutをしたいです。

文書の冒頭に追加できるコード行は、実際には各アニメーションの前に自動的に追加されるようなものですか?

の代わりに:あなたは関数内でそれをラップし、ちょうどあなたが必要な時はいつでもあなたのスクリプトでそれを呼び出すことができます

$wizard_stuff(animate, fadeIn, fadeOut).stop(false, true); 
$('#').animate({ 
}); 
$('.x').fadeIn(); 
$('.y').fadeOut(); 
$('.z').fadeIn(); 

答えて

2

あなたはJQ擬似セレクタ:animated使用することができます

$(':animated').stop(false, true); 

説明:セレクタが実行された時点で アニメーションの進行中のすべての要素を選択します。

+0

私はこれがうまく仕事をすると信じています、ありがとう!私は、一度に他のものに影響を与えたいと思った場合に備えて、すべてのjquery方法を行うことを望んでいました。 – Alin

+0

@Alinあなたはどんな種類のものに影響を与えたいですか?とにかく、任意のjqアニメーションメソッドが内部的に '$ .fn.animate'を呼び出すので、あなたはそれを拡張することができます:例えば、https://jsfiddle.net/7cmnuzfr/ –

+0

Uuuはフィドルが良いです、これはまさに私が必要としていた/見つけたいと思っていたものです。 – Alin

0

$('#').stop(false, true).animate({ 
}); 
$('.x').stop(false, true).fadeIn(); 
$('.y').stop(false, true).fadeOut(); 
$('.z').stop(false, true).fadeIn(); 

ような何か。毎回同じ要素またはセレクタでアニメーションを停止する必要があるかどうかに応じて、パラメータを追加する必要がある場合としない場合があります。例えば:

function stopAnimations() { 
    $('#, .x, .y, .z').stop(false, true); 
} 

function startAnimations() { 
    $('#').animate({ 
    }); 
    $('.x, .z').fadeIn(); 
    $('.y').fadeOut(); 
} 

そして、スクリプトの他の部分であなただけのstartAnimations()を呼び出すことができます。それはあなたが探しているもののラインに沿ったものですか?

+0

こんにちは、私はロイに言ったことを教えてあげます:私の例のfadeIn()fadeOut()は、実際のコードでは、それぞれが何かによってトリガされたショーのためのものです。クラス/ ID名の長いアニメーションの領域があれば、すべての要素で.stopを呼び出すのは難しいでしょう。私は方法に直接停止を呼び出すことができることを望みました。 – Alin

関連する問題