ナビゲーション バーで現在のメニュー ページを強調表示できない理由がわかりません (私が完全な初心者であるという事実を除いて :-) 私は JQuery 関数を使用しています。ネット、どれも機能していません。機能は次のとおりです。
<script type="text/javascript">
$(function(){
var path=window.location.pathname;
path=path.replace(/\/$/, "");
path = decodeURIComponent(path);
$('#menu a').each(function() {
var href=$(this).attr('href');
if (path.substring(0, href.length) === href) {
$(this).closest('li').addClass('active');
}
});
});
</script>
私のCSSは:
@charset "UTF-8";
/* CSS Document */
#menu{ width:100%; height:40px; background-color: pink; border-bottom: 1px silver solid;}
#menu ul {
list-style: none;
margin:0 auto;
position: relative;
padding:5px 0;
width: 940px;
}
#menu ul li {
display:inline;
margin-left: 150px;
}
#menu li:first-child {
margin-left:0;
}
#menu ul li a {
color: silver;
display:block-inline;
font: 16px "Comic Sans MS", cursive;
text-align: center;
text-decoration: none;
}
#menu ul li a:hover {
background-color: yellow;
text-decoration:underline;
}
.active{
color:green;
}
HTML マークアップは次のとおりです。
<?php
echo<<<END
<div id="menu">
<ul>
<li><a id="home" style="color:white; font-size:16px;" href="$doc_root/index.php" title="Home Page">Enzo</a></li>
<li><a id="travel" href="$doc_root/travel/grid.php" title="My Trips"><span>travelling</span></a></li>
<li><a id="images" href="#">images</a></li>
<li><a id="words" href="#">words</a></li>
<li><a id="about" href="#">about</a></li>
</ul>
</div>
END;
?>
何が悪いのかわからない、おそらく私のcss。簡単にするために color:green だけです。「アクティブな」クラスが CSS メニュー ページに正しく挿入されているかどうかはわかりません。問題を解決するためのヒントやその他の解決策を教えてください。みんな大好き:-)