jquery - 突出显示当前菜单问题

标签 jquery css menu highlight

我不明白为什么我不能在导航栏上突出显示当前菜单页面(除了我是一个完全的初学者:-) 我正在使用 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/

相关文章:

javascript - jQuery 在页面重新加载时淡出

JQuery 下推菜单的外观和感觉无法正常工作

javascript - 如何在输入 ID 等于 'submit' 的情况下提交 javascript

javascript - 在下拉导航中将文本向左移动

css - 使用 mpdf 在表格中的 div 上添加 margin-top 和 bottom

jquery MatchHeight 插件没有按预期工作

html - 如何让这些 div 正确显示在标题上?

Android Catch Notes 应用程序,如圆形菜单

javascript - 在导航菜单中选择菜单。当用户尝试在其中一个子菜单中使用选择菜单时,.mouseleave 触发问题

javaScript 将两个数字相乘并将结果显示到第三个 html 输入中