0

jQuery エフェクト チェーンを使用してオブジェクトを操作しようとしています。チェーン内の一部の効果は、オブジェクトの現在の位置によって異なります。しかし、エフェクトチェーン全体が実行前にキューに入れられているように見えるため、現在の位置を取得するための関数呼び出しは正しくない値を返します。

私が使用している標準的な連鎖 (.fadein().fadeOut().animate()) に代わる 2 つの方法は、各エフェクトの完了後にコールバックを使用して次のエフェクトを開始することです。または、jQuery キューの使用を検討することもできます。

.fadeIn(500,startNextEffect) などのコールバックをコーディングすると、fadeIn エフェクトがキューに入れられたときに startNextEffect の内容が評価されないと仮定するのは正しいですか? そして、私が見逃している簡単なものはありますか?

ありがとう、クリス

4

1 に答える 1

0

効果を使用するよりも、csspositionプロパティを使用fadeIn()して画像を重ねることができます。fadeOut()

これが jsFiddle の例です。

jQuery:

$(document).ready(function() {
    $('img').click(function() {
        $('img').fadeOut(400);
        $(this).next().delay(100).fadeIn(600);
    });
});

CSS:

img { position:absolute; left:10px; top:10px; }​
于 2012-08-29T21:24:59.900 に答える