0

私は .fadeToggle を使用しているため、3 つの div のいずれかをクリックすると、他の 2 つの div が 2 つの異なる div にフェードし、クリックされた 1 つが残ります。問題は、移行中に div がオーバーラップするため、変化する 4 つの div がすべて表示される瞬間が一瞬発生することです (短いが美的に不快です)。切り替えがスムーズになるように、4 つすべての表示が [なし] に設定されている瞬間を作成するにはどうすればよいですか?

これまでのすべての JavaScript は次のとおりです。

$(document).ready(function() {
    $('[class^="col"]').click(function() {
        var m = $(this).attr('id');
        $('[class^="col"]').not(this).fadeToggle('slow');
        $('#' + m + 'p').fadeToggle('slow');
        $('#' + m + 't').fadeToggle('slow');
    });
});

ありがとう!

4

2 に答える 2

0

jQuery.queue()

    $('[class^="col"]').not(this).fadeToggle('slow').queue(function() {
      $('#' + m + 'p').fadeToggle('slow');
      $('#' + m + 't').fadeToggle('slow');
    });

場合によっては、これを逆にしたいかもしれません (最初に内側に入れます)。

于 2015-12-27T22:27:15.190 に答える
0

すべての回答に感謝しますが、いくつかの可能性を検討した後、if/else ステートメントを使用すると、必要な正確な結果が得られることがわかりました。それは他の誰かを助ける必要があります、ここに行きます: http://jsbin.com/cusohu/edit?js,output

于 2015-12-28T16:27:38.297 に答える