开发者

jquery accordion collapsed by default on page load

I am using JQuery UI accordion in my page. I have following Javascript code on my page load:

开发者_如何学C$(function() {
    $("#accordion").accordion({
            active: false,
            autoHeight: false,
            navigation: true,
            collapsible: true
        });

});

When the page loads all tabs are open for few seconds and then collapse. May be its loading effect. How can I make Jquery UI accordion collapsed on page load. Please suggest


Although not a direct answer, maybe you can render it hidden and then show it when its created:

$("#accordion").accordion({
   active: false,            
   autoHeight: false,            
   navigation: true,            
   collapsible: true,
   create: function(event, ui) { $("#accordion").show(); }
});

Update: This fiddle works for me: http://jsfiddle.net/47aSC/6/


For me this works:

$(function() {
    $( "#accordion" ).accordion({
            collapsible: true,
            autoHeight: true,
            active: false

        });
});


It's probably loading something near the end of the page slowly. If you can't fix that, you could try declaring the element having display:none applied to it in css, then:

$("#accordion").show().accordion({
        active: false,
        autoHeight: false,
        navigation: true,
        collapsible: true
    });

There could be a cleaner way of doing that (as @Mrchief suggests), but I don't think .accordion() formats hidden elements nicely. You'll have to test.


The best solution is:

open jquery.ui.accordion.js and edit lines 29 and 31 (by the way I'm using 1.10.4).

Edit line 29 to Active: 100, Edit line 31 to collapsible: true,

This way you don't need to write any script or function in the header of the page. By setting Active to a high number (for example 100) you are saying that 100th h3 tag is active (which basically doesn't exist).

The collapsible: true says that all open h3 tags are collapsible.

It solves the problem completely.


$(document).ready(function() {
   $('.collapse').collapse({
     toggle: false
   });
});

This will set all .collapse classes in DOM to close, but only once the DOM has finished loading.


// We can also use the below code to collapse accordian on the page load and it should use when we are using bootstrap 2.0

    $(document).ready(function () {
          if ($("#accordianId").length>0) {
                        $("#accordianId").trigger("click");
                    }
             });

Other wise we should use below code for bootstrap 3.0

$( "#accordianId" ).accordion( "option", "active", 0 );
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜