2

私は1つのアコーディオンメニューを作成しました.liで.nextを使用していますが、divはslideToggleではありません。今回はアコーディオンメニュー風にしたいと思います。

  1. 親liをクリックするときにdivを開きたい、
  2. 他のliをクリックすると、divがスライドしますが、他のli divは閉じる必要があります。

デモ リンクは次のとおりです: http://jsfiddle.net/H4ueq/。私を助けてください。

4

3 に答える 3

4

next()の代わりにchildren("div")を使用できます。これは、スライドトグルしたいクリックされたli要素の子であるためです。トグルの代わりに、 slideUpslideDownを使用すると、アコーディオン機能が生成されます。

ここを参照してください:

http://jsfiddle.net/45Yab/3/

$("ul#accordian>li").click(function() {
    $("#accordian").find("div[class=details]").slideUp("slow");
    $(this).children("div[class=details]").slideDown("slow");
});​
于 2012-06-25T06:15:04.930 に答える
3

アコーディオン メニューの例を次に示します: http://jsfiddle.net/x7SE4/2/

于 2012-06-25T06:15:08.110 に答える
0

ネットから入手したもう 1 つのクールでシンプルな jquery アコーディオンは、以下のコードを使用しています。

$(function() {
    $("#accordion > li").click(function() {
        if (false == $(this).next().is(':visible')) {
            $('#accordion > div').slideUp(300);
        }
        $(this).next().slideToggle(300);
    });
    $('#accordion > div:eq(0)').show(); //change it to hide() to hide the first tab on load
});

必要に応じて、CSS を少し調整しました。返事が遅れて申し訳ありません。私はそのようなコードを探していました。例を次に示します: http://jsfiddle.net/ravimallya/H4ueq/5/

于 2012-12-14T07:52:25.170 に答える