UPDATE構築ナビゲーションリンクにアクティブなクラスを追加します。jqueryの - jqueryのUIのアコーディオンで
がURLのための正規表現を使用してみました、それが動作します:
var url = window.location.pathname,
urlRegExp = new RegExp(url.replace(/\/$/,'') + "$");
$("#accordion a").each(function()
{
if(urlRegExp.test(this.href.replace(/\/$/,'')))
{
$(this).addClass("active-sidebar-link");
}
});
私はjQueryのUIアコーディオンウィジェットを使用していますが私のウェブサイトのサイドバーナビゲーションメニューを構築する。
// create accordion
$("#accordion").accordion(
{
header: '> li, h3:not(> li > ul)',
collapsible: true,
autoHeight: false,
navigation:true
});
// Add active class to active sidebar links
$("#accordion a").each(function()
{
if (this.href == window.location || this.href == document.location.protocol + "//" + window.location.hostname + window.location.pathname)
{
$(this).addClass("active-sidebar-link");
}
});
アコーディオン作品と: http://jqueryui.com/demos/accordion/
私は、次のコードを持っている "ナビゲーション:真の" オプションも動作します(http://jqueryui.com/demos/accordion/#option-navigation)訪問しているリンクに基づいて、適切なアコーディオンの「引き出し」を開きます。
ただし、アクティブなクラスは現在のリンクに追加されていません。
アイデア?
正規表現が必要な場合があります。 href = "http://www.website.com"とhref = "http://website.com/"の違いはどうですか? – bozdoz
まだ正規表現が動作していないと試してみました。質問する正規表現コードを追加しました。 – IntricatePixels