0

私の画像はあるdivにあり、z-indexが最も高いです

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

私はそのようにそれをしていました:

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

クリックイベントに埋め込まれています。それを実行して領域をクリックすると、img.classyは最初にその位置を変更し、次に新しい位置でフェードアウトしてフェードインします。明らかにそのようにしたいです:フェードアウト->非表示のときに位置を変更->新しい位置でフェードインポジション。どうやってするの?

4

3 に答える 3

1

これは行います:

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

fadeOutとは非同期関数であるためfadeIn、スクリプトは実行を継続し、スクリプトのimg位置をすぐに変更します。

于 2012-04-28T13:28:39.257 に答える
0

フェードアウトが完了するまで待つ必要があります。コールバック関数を追加しました。

$('img.classy').fadeOut('slow', function() {
    $(this).css('top',$(el).find('img.aaa:last').height()+60);
    $('img.classy').fadeIn();
});
于 2012-04-28T13:29:58.557 に答える
0

これにより、imgのクローンが作成され、削除されて、別のラッパーが追加されます。

   .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();
    );
于 2012-04-28T13:43:34.870 に答える