4

もう1つの簡単なもの:

これがターゲットであるかどうかに応じて、fadeOutとの違いに気づいています。これが私の構造です。

ページにデータの行があり、各行には2つのアイコンがあります。1つはその行の更新アイコンで、もう1つはその行の削除アイコンです。ユーザーが特定の行の更新アイコンをクリックすると、更新アイコンと削除アイコンの両方がフェードアウトするようにします。したがって、ユーザーがクリックしたもの(更新ボタン)とそれに対応する削除ボタンをフェードアウトするために、私は...を使用しています。

$(this).next().add(this).fadeOut('slow');

...これは機能しますが、2つの要素が同時にフェードすることはありません。これは最初にフェードアウトし(更新アイコン)、次にthis.nextがフェードアウトします(削除アイコン)。しかし、2つの要素を名前で指定すると...

$('#updS2, #delS2').fadeOut('slow');

その後、それらは一緒にフェードします。なぜ違うのですか?

金曜日のとりとめのないお詫び。

====編集====

andSelfを使用した場合の遅延にも気づきました。

$(this).next().andSelf().fadeOut('slow');
4

1 に答える 1

2

OK、問題が何であるかを見つけました。同じイベントハンドラー内のページ上のすべてのアイコンに作用していた以前のfadeToコマンドがありました。コードをfadeToのコールバックに移動しましたが、動作するようになりました。最初にそれをチェックする必要があります。岩の下を這って戻ります...

これが私が使用しているコードです。私のすべてのアイコンには、「アクション」のクラスがあります。ユーザーがクリックした行のアイコンを除いて、ページ上のすべてのアイコンを暗くしたかったのですが、これらを1つのユニットにまとめて完全に非表示にしたかったのです。これは機能します。

$('.action').click(function() {
    var me = $(this);
    $('.action').not(this).fadeTo('slow', 0.2, function() {
        $(me).next().add(me).fadeOut('slow');
    }).unbind('click');
)};

これを使用すると、必要な2つだけでなく、すべてのアイコンがフェードアウトするため、使用する必要がありました。おそらくもっと良い方法ですが、「そもそも間違っていた」と答えたとしても、その質問に答えようと思ったのです。申し訳ありませんが:S

于 2010-04-16T10:43:31.207 に答える