2017-09-13 152 views
0

我有一個導航鏈接指向特定頁面上的錨點。將類添加到其他頁面上的錨鏈接

這適用於特定頁面,但如何從我的網站上的其他頁面添加該類時才能使用?

<script> 
jQuery(function ($) { 
    $(document).ready(function() { 
     $(".sub-menu > li > a").on("click", function(){ 
      $("a.active").removeClass("curlink"); 
      $(this).addClass("curlink"); 
     }); 
    }); 
}); 
</script> 
+0

這通常是你做後端,而不是前端。 – OptimusCrime

回答

0

有很多想法/方法來實現這一點,但如果你有單獨的文件,其中包含導航代碼那麼你可以做一個辦法, 你可以把一個隱藏的元素用的<a>標籤id值導航菜單。所以當你登陸頁面,發現jQuery中隱藏字段的id值時,你可以激活導航的<a>。我的意思是你可以將活動類應用到該菜單。 告訴我,如果這不明確,我會盡量簡化。

簡單地說,

在單獨的頁面添加一個隱藏的元素像<input type="hidden" value="about_us" id="nav-menu"> 而在你的母版頁,把jQuery來獲得這樣的值: var nav_menu = $('#nav-menu').val();所以在nav_menu你將有about_us作爲其值。

現在,在主主視圖文件,你可以寫的jQuery添加活動類像相關馬努:$('.sub-menu > li > a').removeClass('active');$('#'+nav_menu).addClass('active');

+0

謝謝。但是,請儘量簡化。 – Morten

+0

好的,更新我的答案。 –

0
  1. 只需通過一個比較隱蔽的輸入元素ID爲navigator
  2. 說,當你點擊ID爲鏈接#a1然後將這個隱藏元素值"a1"
  3. 與形式
  4. 發送該元素在接收器頁面檢查該元素的值表示$("#navigator").val();
  5. 在此的價值,這是"a1"在這種情況下的基礎上,ID爲a1任何你想要的鏈接設置CSS,採用$("#a1").css();
0

另一種方法是,在每一個超鏈接添加GET參數並在接收端接收並根據其設定的CSS值進行接收。

  • 比方說,有id爲3個環節a1,a2,a3
  • 添加參數說cameFromhref網址,例如: href=".../*.html?cameFrom=a1"鏈路a1href=".../*.html?cameFrom=a2"鏈路a2
  • 在接收器頁面使用該功能來獲取它的值:

    function param(name){ 
        return (location.search.split(name + '=')[1] || '').split('&')[0]; 
    } 
    
  • 使用param(cameFrom)並得到結果。 Link to this function

相關問題