我有点小问题。主要是因为我还在学习JQuery。
当用户单击菜单中的某个项目时,它将被高亮显示。到目前一切尚好。但是,如果用户在他从菜单中选择的页面中输入另一个链接,则高亮显示将丢失。
在用户从所述菜单中选择另一个选项之前,如何保留突出显示的菜单项?
Jquery代码如下:
<script type="text/javascript">
$(document).ready(function(){
$('#sidemenu a').each(function(index) {
if(this.href.trim() == window.location)
$(this).addClass("selected");
});
});
</script>
如果需要菜单代码和示例的css,下面是JFiddle演示(尽管它在那里行不通):http://jsfiddle.net/dptv0os6/3/
发布于 2014-09-22 15:05:53
您可以尝试以下简单的代码:
$('.sidemenu li').on('click', function () {
$('li.active').removeClass('active');
$(this).addClass('active');
});
基本上,每次单击li时,都会向其中添加一个类,并从预览中删除该类:
您的摇篮更新http://jsfiddle.net/dptv0os6/12/
发布于 2014-09-22 15:12:01
如果您的页面位于类似/父-页/子页的另一个文件夹中,则可以将路径名保存在url中,如下所示:
var pathname = document.location.pathname;
然后你只需做一个匹配。
if(pathname.match(/parent-page/i){
$('yourmenulink').addClass("selected");
}
为了进一步了解:您将给定父页面的html文件放在您喜欢的文件夹中。如果这样做,您可以使用location.pathname通过url访问文件夹名。
发布于 2014-09-22 14:52:07
你可以通过css来完成它。
.active{
background-color:red; // example
}
https://stackoverflow.com/questions/25976953
复制相似问题