1

各タブの開閉を切り替えないアコーディオンが与えられました。別のタイトルが選択されたときにのみタブを閉じますが、ユーザーがクリックしてもタブを閉じることができるようにしたいと考えています。これを可能にするためにこの Jquery を編集する方法がわかりません。

jQuery("ul.gdl-accordion li").each(function(){
    jQuery(this).children(".accordion-content").css('height', function(){ 
        return jQuery(this).height(); 
    });
    if(jQuery(this).index() > 0){
        jQuery(this).children(".accordion-content").css('display','none');
    }else{
        jQuery(this).find(".accordion-head-image").addClass('active');
    }       

    jQuery(this).children(".accordion-head").bind("click", function(){
        jQuery(this).children().addClass(function(){
            if(jQuery(this).hasClass("active")) return "";
            return "active";
        });
        jQuery(this).siblings(".accordion-content").slideDown();
        jQuery(this).parent().siblings("li").children(".accordion-content").slideUp();          jQuery(this).parent().siblings("li").find(".active").removeClass("active");
    });
});

.clickそのステートメントの関数のどこかにあるとif思います...しかし、理由はわかりません。

また、最初のタブがデフォルトで開いている理由もわかりません...それを変更する方法もありますか?

http://jsfiddle.net/FKAAM/

どんなアドバイスでも大歓迎です。どうもありがとう。

4

4 に答える 4

4

代わりに、slideToggle() を使用します。

jQuery(this).siblings(".accordion-content").slideDown();

jQuery(this).siblings(".accordion-content").slideToggle();

http://jsfiddle.net/FKAAM/4/

于 2013-01-07T18:45:10.393 に答える
1

追加:

collapsible: true

アコーディオン オプションに追加すると、ユーザーはクリックして閉じることができます。

(jQuery UI アコーディオン: http://jqueryui.com/accordion/ )

于 2013-01-07T18:44:19.147 に答える
-2

jQueryアコーディオンを使用することをお勧めします

$(function() {
        $( "#accordion" ).accordion({
            collapsible: true
        });
    });

ここの例を確認してください。これはあなたが必要としていたものだと思います。

于 2013-01-07T18:44:49.060 に答える