2017-09-13 94 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

相关问题