爲了得到手風琴自動打開基於URL的正確部分,你會開始使navigation
選項的東西,如:
$('#accordion').accordion('option', 'navigation', true);
默認情況下,此選項查找具有該URL fragme相匹配的href
手風琴標題鏈接nt(如果您的URL是http://somesite.com/about#contact,#contact是片段)並打開該標題鏈接的部分。由於您使用的手風琴導航到不同的頁面,你可能不會有URL片段來匹配,所以你必須編寫自定義navigationFilter
:
$('#accordion').accordion('option', 'navigationFilter', function(){ ... });
可以使用navigationFilter
選項覆蓋手風琴插件如何匹配當前頁面的URL的標題鏈接。
到目前爲止,我們已經根據當前頁面打開了手風琴的右側部分。接下來,我們需要突出顯示該部分對應於該頁面的鏈接。你會做的東西,如:
<script type="text/javascript">
$(document).ready(function() {
$('#accordion li').each(function() {
var li = $(this);
var a = $('a', li);
if(/* compare the href of the 'a' element to the current URL */) {
li.addClass('active');
}
});
});
</script>
<div id="accordion">
<h3><a href="#">Section 1</a></h3>
<div>
<ul>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</div>
<h3><a href="#">Section 2</a></h3>
<div>
<ul>
<li><a href="/help">Help</a></li>
<li><a href="/faq">FAQ</a></li>
</ul>
</div>
</div>
在這裏,我們正在經歷導航手風琴的所有網頁鏈接,採摘,當前URL匹配的一個,並應用.active
類吧,你然後可以使用不同的CSS樣式。
旁白:另一個,可能會更好,方式來完成第二部分是建立與已經應用到合適的鏈接.active
類的頁面,但假定你可以控制後臺和你知道該怎麼做。事實上,如果是這樣的話,您可以跳過整個navigationFilter
的東西,並生成一個<script>
塊來設置手風琴上的active
選項以打開正確的部分。
如果你使用這裏描述的哈希改變方法,下面的插件是不匹配的:http://benalman.com/projects/jquery-bbq-plugin/ - 它很快將取代jQuery歷史插件,這是非常過時的。 – 2009-10-21 19:45:24
@亞歷山大 - 不錯!並沒有意識到這一點。 – Matt 2009-10-21 19:51:34
感謝您的信息 - 我會看看,如果我能得到它與您的解決方案或從沒有驚喜(上圖) - 手指交叉工作! – MelissaTA 2009-10-23 17:49:24