2015-12-24 32 views
0

我正在開發一個包含大約8/10個網頁的網站。我已經實現了一個通用的頁眉和頁腳使用JavaScript,它工作正常。接下來的步驟是添加一個活動類到導航菜單,我可以通過javascript或jquery閱讀。我偶然發現了一篇既有jquery又有javascript方法的文章。 How to Add Active Class to a Navigation Menu Based on URL基於URL將活動類添加到導航菜單javascript - 僅在發出提醒時纔有效

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"); 
    }) 
}); 

我沒有提及更多的文章,看起來像他們大多數使用相同的方法或多或少。任何建議?

+0

它應該工作,你可以請嘗試$(function(){('nav a [href^=「/'+ location.pathname.split(」/「)[1] +'」]')。 addClass('active'); });一次 –

+0

請嘗試讓我知道它適用於你 –

+0

不,這不適合我,雖然這看起來像一個乾淨和簡單的解決方案。 –

回答

1

使用一些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); 
}); 

它可以幫助你。

相關問題