页面刷新后导航时的活动状态

时间:2013-01-23 09:45:14

标签: javascript jquery html nav

这是我现在使用的代码,用于在您点击其中一个导航并重定向页面后为项目添加活动状态。

我想知道是否有另一种方法可以做到这一点,因为它只能在我的本地机器上运行,但不能在服务器上运行。

 $(document).ready(function () {         
        current_page = document.location.href            
        if (current_page.match(/home/)) {
            $("ul#ulMenuNav li:eq(0) a").addClass('navActive');
        } else if (current_page.match(/about/)) {
            $("ul#ulMenuNav li:eq(1) a").addClass('navActive');
        } else if (current_page.match(/location/)) {
            $("ul#ulMenuNav li:eq(2) a").addClass('navActive');
        } else if (current_page.match(/staff/)) {
            $("ul#ulMenuNav li:eq(3) a").addClass('navActive');
        } else if (current_page.match(/contact/)) {
            $("ul#ulMenuNav li:eq(4) a").addClass('navActive');
        } else { 
            $("ul#ulMenuNav li a").removeClass('navActive');
        };

    });

2 个答案:

答案 0 :(得分:2)

您可以尝试:http://jsfiddle.net/jaiprakashsah/thrDq/

var url = document.location.href;
var str = url.substr(0, url.lastIndexOf('/'));
var nUrl = str.substr(str.lastIndexOf('/')+1);

$('ul#ulMenuNav li a:contains('+nUrl+')').addClass('active');

答案 1 :(得分:0)

怎么样:

$(document).ready(function () {         
  var current_page = document.location.href;

  $('ul#ulMenuNav li a').removeClass('navActive');
  $('ul#ulMenuNav li a[href*="'+current_page+'"]').addClass('navActive');

});