2012-05-03 79 views
0

我搜索了很多链接,但找不到合适的解决方案,我想突出显示我的网页中选定的列表。 我的代码列表:当活动菜单突出显示,链接不工作

%div#navg 
    %ul.clearfix 
    %li 
     %a#c-realtime.overview-16{:href => "#", :title => "Summary"} Summary 
    %li.menu-trigger 
     %a#c-comment.events-24{:href => events_url, :title => "Events"} Events 
    %li.menu-trigger 
     %a#c-realtime.create-24{:href => new_event_path, :title => "Create new event"} Create new event 
    %li.menu-trigger 
     %a#c-realtime.realtime-16{:href => "#", :title => "Analytics"} Analytics 
    %li.menu-trigger 
     %a#c-realtime.recommend-24{:href => recomendations_url, :title => "Recommendations"} Recommendations 

和Java脚本代码是:

:javascript 
$(document).ready(function() { 
    $("#navg ul li a").click(function() { 
     $(this).parent("li") 
      .addClass("selected") 
      .siblings(".selected") 
       .removeClass("selected"); 
     return false; 
    }); 
}); 

,并在CSS我用这:

li.selected { background-color: #404649; 

我的问题是,我能够突出显示我的网页中选定的菜单,但各自的链接不工作,当我删除线

return false;

从我的JS代码我的链接工作,但现在它不是强调链接,我无法找出问题,请建议我如何解决我的问题。谢谢你

回答

0

这是怎么回事?

$(document).ready(function() { 
    $("#navg ul li a").click(function(e) { 
     e.preventDefault(); // prevent following the link on the first click 
     $(this).parent("li") 
      .addClass("selected") 
      .siblings(".selected") 
       .removeClass("selected"); 
     window.location.href = $(this).attr('href'); // manually follow the link 
    }); 
}); 
+0

我仍然面临使用此代码的相同问题我的链接与以前一样工作,但它们没有进行装饰。此代码与我删除返回false时的工作方式相同;你能告诉我更详细的方法吗?谢谢你.. – DSH

+0

刚刚使用css主动选择器怎么样? http://www.w3schools.com/cssref/sel_active.asp – DanS

0

使用return false;取消由事件生成的默认行为。此外,JavaScript更新加载页面上的内容。它不会影响新页面上的行为。

这就是为什么当您使用return false;时,您的链接不起作用。而当你删除return false;你的链接不装饰

而是尝试应用链接页面的JavaScript中的类。