2012-11-20 58 views
1

我想弄清楚如何設置手風琴,以便顯示不同的活動面板,具體取決於使用哪個鏈接打開頁面。jQuery Accordion - 根據以前的鏈接設置加載活動面板

如果你看看我正在處理的頁面 - http://testing.xenongroupadmin.com/lms/admin/index.html - 你可以在頂部看到一個導航欄。如果您將鼠標懸停在選區上,則會出現一個下拉框。

第一個菜單項「課程材料」顯示了三個選項 - '工作坊','遠程學習'和'學習資源'。點擊這些鏈接中的任意一個,打開目標頁面,顯示一個jQuery手風琴。此手風琴的標題與導航欄中的三個選項相關。

所以,爲了達到這個目的,我想要的是讓合適的手風琴選項卡打開,具體取決於點擊哪個鏈接。因此,如果我要在導航菜單中單擊「遠程學習」,則會打開「遠程學習」手風琴選項卡以加載「材料」頁面。

如果單擊「課程材料」鏈接而未從子菜單中選擇選項,則應關閉所有的手風琴標籤。

任何人都可以幫忙嗎?如果需要任何服務器端腳本,我的服務器將設置爲與PHP一起使用。如果有必要,也很樂意使用Ajax。

謝謝!

回答

1

讓您的子菜單鏈接到materials.html,並使用散列標籤指示要打開的面板。就像'materials.html#workshop-slide'一樣,然後使用Javascript解析文檔中的location.hash,並打開相應的面板。

1

你可以用手風琴選項'active'

$('#accordion').accordion({ 
    active : 0 
}); 

遠程學習-1封閉式,0車間,1和2,學習資源

0

一種方式,JavaScript來做到這一點。將URL中的活動選項卡引用傳遞爲#tab-0(其中數字將成爲選項卡的索引)。這裏是一個原油實現,讓你開始:

$(document).ready(function() { 
    var a =0; 
    if(location.href.indexOf("#tab-1")) a = 1; 
    if(location.href.indexOf("#tab-2")) a = 2; 
    $('#accordion').accordion({collapsible : true, active : a}); 
}); 

如果你想從PHP這樣做,那麼你必須更換適當的選項卡索引的「無」價值被打開。

+0

FYI location.hash爲您提供了哈希標籤。 –

+0

是的,但我用它來體驗傳統瀏覽器中的一些問題。 ;( – nxtwrld

+0

我記得幾年前(我認爲這是一個IE6問題),在一個特定的瀏覽器中散列將返回沒有'#'。爲了更正我只是設置var hash = location.hash.replace('#',' ');並與之相比較。 –

相關問題