1

私のコードはここにあります: http://jsfiddle.net/GwUmb/4/

    $(document).ready(function(){
    $(".trigger,.trigger-2").click(function(){
        $(".panel,.panel-2").toggle("fast");
        $(this).toggleClass("active");
        return false;
    });
});

トリガー 2 からパネル 2 をロードするのに苦労しています... .trigger と .panel が (ある程度) 期待どおりに動作することに気付きました (CSS スタイルの奇妙さに気付きました)。

.panel-2 と .trigger-2 を削除すると、コードは完全に動作しますが、それ以外の場合は動作しません。

ここで読んだことを複製しようとしていました: http://www.w3schools.com/jquery/sel_multiple_classes.asp

4

2 に答える 2

2

ここでの問題は、どちらのトリガーをクリックしても、両方を選択して呼び出しているため、両方.toggle(またはすべて) のパネルがアクティブになることです。これを解決するには、パネルの対応するインデックスを としてトリガーに保存するか、インデックスを使用するなど、多くの方法がありdataます。後者はあなたにとってうまくいくかもしれません。

$(".trigger").click(function(e) {
    $(".panel").eq($(this).index(".trigger")).toggle("fast");
    $(this).toggleClass("active");
    e.preventDefault();
});

http://jsfiddle.net/GwUmb/6/

于 2013-04-28T23:30:50.193 に答える