gpt4 book ai didi

javascript - 已访问的菜单选项未突出显示

转载 作者:行者123 更新时间:2023-11-28 07:09:58 27 4
gpt4 key购买 nike

所以我一直在研究这个 jquery 插件,它突出显示了当前页面上的当前菜单项。我目前希望菜单项边框和文本更改颜色。我试图在其中实现此目的的 CSS 方法是 .selected 我在这里可能真的很傻,但我似乎无法让它工作。任何帮助将非常感激。我的 JS 在一个单独的文件夹中。

<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
<script src="js/pageMenu.js" type="text/javascript" ></script>

<div class="container">
<header class="site-header">
<img id="logo" src="logo.png" alt="logo">
<nav id="nav"<a href="#"></a>
<ul id="site-nav">
<li><a href="index.php">Home</a>
</li>
<li><a href="#">Used Cars</a>
</li>
<li><a href="aboutus.php">About us</a>
</li>
<li><a href="#">Contact Us</a>
</li>
</ul>
</nav>

这是JS

$(document).ready(function(){
$('#site-nav a').each(function(index) {
if(this.href.trim() == window.location)
$(this).addClass("selected");
});
});

最后是 CSS(我知道这是一团糟)

#site-nav {
margin: 0px;
padding: 0px;
line-height: 1;
}

#site-nav li {
float: left;
list-style: none;
}

#site-nav li a:link, #site-nav li a:visited {
font-family: 'Pontano Sans', sans-serif;
font-size:14px;
font-weight: bold;
display: block;
padding: 12px 17px;
text-decoration: none;
border-radius: 0px 0px 8px 8px;
/* horizontal radius / vertical radius */
list-style: none;
border-style: outset;
border-width: 1px;
background: #FFFFFF;
background: rgba(226, 226, 226, 1);
background: -moz-linear-gradient(top, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 3%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(226, 226, 226, 1)), color-stop(3%, rgba(219, 219, 219, 1)), color-stop(51%, rgba(209, 209, 209, 1)), color-stop(100%, rgba(254, 254, 254, 1)));
background: -webkit-linear-gradient(top, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 3%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
background: -o-linear-gradient(top, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 3%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
background: -ms-linear-gradient(top, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 3%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
background: linear-gradient(to bottom, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 3%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#e2e2e2', endColorstr='#fefefe', GradientType=0);
}

#site-nav a:focus, #site-nav a:hover {
color: #DC2F35;
background-color: #FFFFFF;
}
.selected {
color: #DC2F35;
border-color: #DC2F35;
}

最佳答案

问题出在您的 if block 条件中,因为 JavaScript 不允许您使用 == 运算符比较字符串。您必须使用 localeCompare() 函数来比较字符串。
例如:-
var str1 = "cd";
var str2 = "ab";
var n = str1.localeCompare(str2);


如需更多信息,请参阅 this

关于javascript - 已访问的菜单选项未突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32721798/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com