2011-07-04 61 views
5

我在頁面中使用了JQuery UI手風琴。我在頁面加載時有以下Javascript代碼:jquery accordion在頁面加載時默認爲摺疊狀態

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

}); 

當頁面加載所有選項卡時,打開幾秒鐘然後摺疊。可能是它的加載效果。如何在頁面加載時使Jquery UI手風琴摺疊。請建議

+0

你能在http://www.jsfiddle.net上重現這個嗎? –

+0

@Andrew:請檢查鏈接。 http://jsfiddle.net/47aSC/對不起,我第一次使用它,並沒有格式化。我想jQuery鏈接需要來自現場。 – DotnetSparrow

+0

http://stackoverflow.com/questions/4633971/how-do-i-keep-jquery-ui-accordion-collapsed-by-default – Mrchief

回答

11

雖然沒有直接回答,也許你可以使它隱藏,然後顯示它的創建時間:

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

更新:這撥弄爲我的作品:http://jsfiddle.net/47aSC/6/

+0

@mootinator @Merchief:我使用了display none,並使用了你的代碼示例(兩者),但是當頁面加載時,手風琴是不可見的並且突然出現。我希望手風琴在那裏,但在頁面加載時摺疊 – DotnetSparrow

+0

嗯,根據文檔,'{active:false,collapsible:true}'應該渲染所有內容。我想知道是否有其他干擾。你可以用你的問題創建一個jsfiddle嗎? – Mrchief

+0

。 jsfiddle.net/47aSC對不起,我第一次使用它,並沒有格式化。我想jQuery鏈接需要來自現場。我在asp.net內容頁面中使用了這個。可能是那個原因? – DotnetSparrow

3

它可能會緩慢地加載頁面結尾附近的東西。如果無法修復,您可以嘗試在聲明CSS應用到它有display:none元素,則:

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

有可能是這樣做的(如@Mrchief建議)的更清潔的方式,但我不我不認爲.accordion()很好地格式化隱藏的元素。你必須測試。

8

對於我這個作品:

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

     }); 
}); 
1

最好的解決辦法是:

打開jquery.ui.accordion.js並編輯第29和31行(順便說一句,我使用1.10.4)。

編輯線29 活動:100, 編輯31行至可摺疊:真,

這樣,你不需要編寫任何腳本或函數在頁面的標題。通過設置活動到一個很高的數字(例如100),你說第100個h3標籤是活動的(基本上不存在)。

可摺疊:true表示所有打開的h3標籤都是可摺疊的。

它完全解決了這個問題。

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

這將設置在DOM所有.collapse類收,但只有一次的DOM完成加載。

0

//我們還可以使用下面的代碼摺疊的頁面加載手風琴和它應該使用時,我們使用引導2.0

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

其他明智的,我們應該用下面的代碼爲引導3.0

$("#accordianId").accordion("option", "active", 0); 
相關問題