2012-02-21 93 views
0

我创建了一个页面,其中一列section元素被键入特定的id s。该页面还具有指向每个section链接的列表,像这样:jQuery:显示隐藏部分并导航到锚点

<li><a class='subsection-nav gotoStep1' href='#step-1'>Step 1 Title</a></li> 

我使用jQuery只有一个section一次显示:

// Defaults 
$('.document-subsection').hide(); 
$('.gotoStep1').addClass("active"); 
$('#step-1').show(); 
// Step 1 
$('.gotoStep1').click(function() { 
    $('.subsection-nav').removeClass('active'); 
    $('.gotoStep1').addClass("active"); 
    $('.document-subsection').hide(); 
    $('#step-1').show(); 
    return false; 
}); 
// Etc. 

麻烦的是,jQuery的函数似乎覆盖滚动到名为id的标准浏览器行为。我想单击链接到显示的隐藏部分和导航到指定的id。我无法想象这会非常困难,我只是不知道如何。

回答

1

在你的onclick回调只需卸下

return false; 

。这将允许浏览器执行将页面导航到具有匹配的id的元素的默认功能。

+0

优秀!谢谢! – 2012-02-21 06:18:20

1

尝试$(this).addClass("active");代替$('.gotoStep1').addClass("active"); 这意味着只有您点击