2メニューやってます。1 つはヘッダーにあります。もう 1 つはページの左側のサイドバーに表示されます。
ヘッダ
<div id="topmenu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/baseball">Baseball</a></li>
<li><a href="/football">Football</a></li>
</ul>
</div>
野球ページで
<div id="leftmenu">
<ul id="teams">
<li><a href="/yankees">Yankees</a></li><br />
<li><a href="/redsox">Red Sox</a></li><br />
<li><a href="/cubs">Cubs</a></li><br />
</ul>
</div>
#topmenu を強調表示する方法は次のとおりです (長い話ですが、機能します)。
$(function(){
var url = window.location.pathname,
urlRegExp = new RegExp(url.replace(/\/$/,'') + "$");
$('#topmenu li a').each(function(){
if(urlRegExp.test(this.href.replace(/\/$/,''))){
$(this).addClass('blue');
}
});
});
課題は #leftmenu にあります。
1 - jQuery を使用して各 -li- のコンテンツを表示/非表示にしています
2 - ページが最初に読み込まれると、#topmenu 項目が強調表示されますが、#leftmenu の最初の項目も強調表示されるようにします。つまり、#topmenu アイテムが選択されたときと、最初の #leftmenu アイテムが選択されたときに同じページが表示されるようにしたいのです。どうすればこれを実現できますか?
それが役立つ場合、野球のページは次のように設定されています。
ベースボール.php
<div id="header">
</div>
<div id="main">
<?php include('baseball_stuff.php'); ?>
</div>
<div id="footer">
</div>
次に、#topmenu で Baseball.php にリンクし、#leftmenu で Baseball_stuff.php にリンクするので、コンテンツを複製する必要はありません。
jsfiddle: http://jsfiddle.net/Ft8FR/