将活动类添加到基于URL的导航菜单仅在发出警报时有效
Add Active Class to a Navigation Menu Based on URL 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);
});
它可能会对你有所帮助。
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- angular的下拉菜单
- 使用JQuery的动态上下文菜单
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 创建下拉菜单
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何使用Node.js最有效地解析网页
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 下拉菜单在菜单按钮的边缘闪闪发光
- Div根据<选择>菜单
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 硒IDE下拉菜单
- 将JavaScript弹出菜单转换为警报框
- 调整屏幕大小后不显示子菜单
- 在jQuery中创建向下滑动子菜单的最有效方法
- 当屏幕尺寸较小时,可使用Javascript向移动菜单添加链接.不再有效
- 寻找一种保持菜单标签的有效方法
- 将活动类添加到基于URL的导航菜单仅在发出警报时有效
- 为什么Angular下拉菜单总是有效的