[英]Add Active Class to a Navigation Menu Based on URL javascript - Works only when alert is given
我正在开发一个包含约8/10个网页的网站。 我使用javascript实现了通用的页眉和页脚,效果很好。 下一步是将一个活动类添加到导航菜单,我可以通过javascript或jquery来阅读该菜单。 我偶然发现了同时具有jquery和javascript方法的一篇文章。 如何基于URL将活动类添加到导航菜单
仅当我在两者之间添加警报语句时,jquery方法对我而言似乎才有效。
$(function() {
var pgurl = window.location.href.substr(window.location.href
.lastIndexOf("/")+1);
alert(pgurl); //Works fine if this statement is included
$("#nav ul li a").each(function(){
if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
$(this).addClass("active");
})
});
我确实引用了几篇文章,并且看起来大多数文章或多或少都使用相同的方法。 有什么建议吗?
使用一些timeout
,可能是您的视图有时还没有准备好,请尝试以下代码:-
$(function() {
setTimeout(function(){
var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/")+1);
$("#nav ul li a").each(function(){
if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
$(this).addClass("active");
});
}, 5000);
});
它可能会帮助您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.