繁体   English   中英

将活动类添加到基于URL的javascript导航菜单中-仅在发出警报时有效

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM