我不明白为什么我不能在导航栏上突出显示当前菜单页面(除了我是一个完全的初学者:-) 我正在使用 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。 为了简单起见,只是颜色:绿色,我不确定“事件”类是否正确插入到 CSS 菜单页面中。 请给我一些提示或其他一些解决方案来解决问题。 爱你们所有人 :-)
最佳答案
只需检查我认为是 PHP 变量的 $doc_root 的格式是否为
<?=$doc_root?>
或者,如果您没有启用短开放 PHP 标签,请尝试
<?php echo $doc_root; ?>
相反。
这是为了确保它在 html 中正确写入。如果您在浏览器中查看您的工作源并且您可以看到 $doc_root 而不是变量 $doc_root 的值,那么这可能就是问题所在。
关于jquery - 突出显示当前菜单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17466303/