Javascript 当前菜单项类突出显示2个菜单项

Javascript 当前菜单项类突出显示2个菜单项,javascript,css,wordpress,less,Javascript,Css,Wordpress,Less,我的菜单如下:主页|关于我们|定价|联系。定价项目是一个自定义链接:home。本地#home pricing和关于我们和联系人的链接指向子页面 我遇到的问题是,在显示定价部分的静态主页上,主页和定价项都用当前菜单项类突出显示 我的少: .current-menu-item { a { @extend .btn; padding-left: $base-padding + 9px; padding-right: $base-padding +

我的菜单如下:主页|关于我们|定价|联系。定价项目是一个自定义链接:
home。本地#home pricing
和关于我们和联系人的链接指向子页面

我遇到的问题是,在显示定价部分的静态主页上,主页和定价项都用
当前菜单项
类突出显示

我的少:

.current-menu-item {
    a {
        @extend .btn;
        padding-left: $base-padding + 9px;
        padding-right: $base-padding + 9px;
    }
}

.btn {
    background: $yellow-color;
    border-radius: $base-radius;
    padding: $btn-padding;
    color: $purple-color;
    text-transform: uppercase;
    margin-top: $base-padding * 2;
    font-family: $heading-font-family;
    font-size: $base-font-size + .500rem;
    border: 0;
    &:hover {
        color: $purple-color;
        text-decoration: underline;
        @include linear-gradient($yellow-color 50%, $darker-yellow-color);
    }
}
和我的主页:

<!DOCTYPE html>
<html <?php language_attributes(); ?>>
    <?php get_template_part('templates/head'); ?>

    <body <?php body_class(); ?>>    
        <?php get_template_part('templates/fb'); ?>
        <?php get_template_part('templates/header'); ?>

        <div id="home-about-us">
            ...
        </div><!-- #home-about-us -->
        <div id="home-pricing">
            ...
        </div><!-- #home-pricing -->
        <div id="home-news">
            ...
        </div><!-- #home-news -->
    </body>

    <?php get_template_part('templates/footer' ); ?>
</html>

...
...
...

您能帮我找到一个解决方案吗?

您可以像单击定价菜单一样使用javascript,然后您可以在定价菜单中添加活动类,并从主页菜单中删除。

我在wordpress admin中添加了主页的主页类和定价部分的定价类。在此之后,我放弃了@CBroe和@sunil留下的线索(感谢您的帮助),并编写了以下jQuery代码:

<script type="text/javascript">
  jQuery(function($){

   $(document).ready(function() {
     $('#menu-main li.pricing.current-menu-item').removeClass('current-menu-item');
   });

   $("#menu-main li.pricing").click(function(){
     $('#menu-main li.home.current-menu-item').removeClass('current-menu-item');
     $('#menu-main li.pricing').addClass('current-menu-item');
   });

   $("#menu-main li.home").click(function(){
     $('#menu-main li.pricing.current-menu-item').removeClass('current-menu-item');
     $('#menu-main li.home').addClass('current-menu-item');
   });
 });
</script>

jQuery(函数($){
$(文档).ready(函数(){
$('#menu main li.pricing.current menu item').removeClass('current-menu-item');
});
$(“#菜单主li.pricing”)。单击(函数(){
$('#menu main li.home.current menu item').removeClass('current-menu-item');
$('#menu main li.pricing').addClass('current-menu-item');
});
$(“#menu main li.home”)。单击(函数(){
$('#menu main li.pricing.current menu item').removeClass('current-menu-item');
$('#menu main li.home').addClass('current-menu-item');
});
});

也许这会对将来的某个人有所帮助。

服务器无法区分这两种情况,因为哈希部分一开始并没有发送到服务器,所以在这两种情况下,它看到的都是对
/
的请求。您需要一个JS解决方案来解决这个问题,在客户端检查这个问题。