0

クリック可能で折りたたみ可能な div スクリプトが機能しています。

$(document).ready(function() {
    $(".toggle-content").hide();
    $(".byline").click(function() {
        $(".toggle-content").hide();
        $(this).next(".toggle-content").slideToggle(500);   
    });
});

それは次のように始まりました:

$(document).ready(function() {
    $(".toggle-content").hide();
    $(".byline").click(function() {
        $(this).next(".toggle-content").slideToggle(500);   
    });
});

この 2 番目の例はうまく機能しましたが、ユーザーがすべてのdivs を開くことができるようになり、ページが高すぎました。機能を追加しましたhide()が、現在、この別の問題が発生しています。

divそれぞれをもう一度クリックすると、実際に閉じる(非表示にする)機能を追加したいと思います。次に、divこの時点ですべての s が閉じられます (隠されます)。現在、1 つdivは常に開いています (表示されています)。できれば両方の機能が欲しい...

私は他の場所でアコーディオンを使用しています (ここで使用できることはわかっています) が、これをすばやく実行する必要があるため、ここでは単純なスクリプトを実装しようとはしていません。既存のスクリプトを使用して修正を見つけることができれば、私はうれしく思います。

編集

改善された修正を表示するためにフィドルを編集しました。

http://jsfiddle.net/nicorellius/gsDVS/

4

1 に答える 1

2

これは機能するはずです。クリックされた要素に関連するコンテンツの非表示を無視し、それに応じてそのdivをslideToggleします

$(document).ready(function() {
    $(".toggle-content").hide();
    $(".byline").click(function() {
        var $next= $(this).next(".toggle-content");
        $(".toggle-content").not($next).hide();
        $next.slideToggle(500);   
    });
});
于 2013-01-24T00:27:56.587 に答える