2012-04-28 10 views
0

私の画像はいくつかのdivにあり、Z-インデックスは最高ですイメージをフェードアウトし、jqueryの別の位置に表示させる方法は?

私が何かをクリックすると、フェードアウトし、別の指定された位置でフェードインします。別のクラスの画像の下に:)それは "aaa"クラスです。

私はそのようにそれをやっていた:

  $('img.classy').fadeOut(); 
      $('img.classy').css('top',$(el).find('img.aaa:last').height()+60); 
      $('img.classy').fadeIn(); 

イベントをクリックして埋め込まれます。私がそれを実行してそのエリアをクリックすると、img.classyはまずポジションを変更し、新しいポジションでフェードアウトしてフェードインします。フェードアウト - >不可視の位置を変更 - >新しいフェードインポジション。どうやってするの?

答えて

0

fadeOutが完了するまで待つ必要があります。私はあなたのためのコールバック関数を追加しました。

$('img.classy').fadeOut('slow', function() { 
    $(this).css('top',$(el).find('img.aaa:last').height()+60); 
    $('img.classy').fadeIn(); 
}); 
+0

ありがとうございました! 私は自分のイメージを手動で配置しているのがわかります。指定したイメージの下に表示するようにイメージを配置する方法を知っていますか? – pawel

1

これが行います。

$('img.classy').fadeOut(function() { 
    $('img.classy').css('top',$(el).find('img.aaa:last').height()+60); 
    $('img.classy').fadeIn(); 
}); 

fadeOutfadeInが非同期機能であるため、スクリプトがあなたimgの原因となるものは、すぐにその位置を変更するには、実行し続けます。

0

これは、IMGのクローンを作成し、それを削除し、それを追加しanothorラッパーます:

.aaa {position: relative} 
    .classy {position: absolute; right:0; top:0} 

    $('img.classy').fadeOut(
     cloned = $(this).clone(true); 
     $(this).remove(); 
     $("img.aaa:last").append(cloned); 
     $(".classy").fadeIn(); 
    ); 
関連する問題