1

別のサイトに適応させようとしているカスタムアコーディオンスクリプトがあります。開いた後に閉じることができる必要がありますがdiv、それを変更する方法がわかりません。

これが私のスクリプトです:

$(".accordionHidden").hide();

// Bind to Button click Event //
$("a.accordionHeading").bind("click", function(e){
    e.preventDefault();

    // Set New Target from Button data-target Attribute //
    var $target = $("."+$(this).data("target"));

    // Prevent Slide Up / Down of Current Content //
    if ($(".accordionHidden:visible").get(0) != $target.get(0)){

        // Slide Up Content if Visible //
        if ($(".accordionHidden:visible").length){
            $(".accordionHidden").filter(":visible").slideUp("fast", function(){
                $target.slideDown("fast");
            });
        }
        else {
            $target.slideDown("fast");
        }
    }
});

また、一度に複数のアイテムを開くことができる必要がありますが、このスクリプトが現時点でこれを実行できるかどうかはわかりません。

デモ: http: //jsfiddle.net/7W2je/2/(2番目のアコーディオンを追加、一度に2つ(またはそれ以上)を開く必要があります)

4

1 に答える 1

1

slideToggle()メソッドを試してください:

$(".accordionHidden").hide();

// Bind to Button click Event //
$("a.accordionHeading").bind("click", function(e){
    e.preventDefault();

    // Set New Target from Button data-target Attribute //
    $("."+$(this).data("target")).slideToggle();
    if ($("a.accordionHeading").text() == 'Maximize') {
       $("a.accordionHeading").text("Show Less Info");
       $("a.accordionHeading").removeClass("minimize").addClass('maximize');
    } else {
        $("a.accordionHeading").addClass("minimize").removeClass('maximize').text('Maximize');
    }

});

http://jsfiddle.net/7W2je/4/

于 2012-06-18T21:33:11.923 に答える