作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以基本上我试图给一个类“current”来突出显示当前页面的菜单项。我已经尝试了几个我在这个网站上看到的片段,但其中大部分都没有用。这段代码几乎对我有用,但问题是虽然当前菜单项正确突出显示,但无论我正在查看哪个页面,主页按钮也会突出显示。因此,如果我正在查看“存档”页面,存档和主页都会突出显示。
顺便说一句,我正在使用 Wordpress 构建网站,我知道 Wordpress 支持这种效果,但我想在没有它的情况下实现这一点。
HTML
<ul class="navigation">
<li><a href="<?php echo home_url() ?>" class="navItem">Home</a></li>
<li><a href="<?php echo home_url(/archive) ?>" class="navItem">Archive</a></li>
<li><a href="<?php echo home_url(/about) ?>" class="navItem">About</a></li>
</ul>
JS
jQuery(function($) {
$('.navigation li a').each(function() {
var target = $(this).attr('href');
if(location.href.match(target)) {
$(this).addClass('current');
} else {
$(this).removeClass('current');
}
});
});
我不是很熟悉 javascript,所以可能会有一些错误。
感谢您阅读本文,祝您新年快乐。
最佳答案
wp_nav_menu
的建议在 WordPress 中是正确的方法,但如果您只是在寻找一个快速的解决方案并且菜单不会经常更改,您可以在里面检查一下每个列表项。
<ul class="navigation">
<li><a href="<?php echo home_url() ?>" class="navItem <?php if( is_front_page() ): echo 'current'; endif; ?>">Home</a></li>
<li><a href="<?php echo home_url(/archive) ?>" class="navItem <?php if( is_home() || is_archive() || is_single() ): echo 'current'; endif; ?>">Archive</a></li>
<li><a href="<?php echo home_url(/about) ?>" class="navItem <?php if( is_page('About') ): echo 'current'; endif; ?>">About</a></li>
</ul>
这利用了 WordPress' "Conditional Tags"对于给定页面,它有效地返回为“true”或“false”。请注意,第二个链接检查多个博客/帖子条件(假设这是针对博客的)。
关于javascript - 突出显示当前菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65516730/
我是一名优秀的程序员,十分优秀!