2014-07-14 135 views
0

也许这是新手的问题,但我真的很困惑。我有代码应该在页面上导航我。当我点击任何字母时,我有“ABC”导航部分,页面滚动到字母部分。当我点击另一封信时,页面滚动到顶部。为什么发生?如何防止滚动到顶部后滚动到元素

$('#abc li').on('click',function (e) { 
    e.preventDefault(); 
    var target = $("#"+$(this).text()); 
if(target.offset()){ 
    var offs = target.offset().top; 
    console.log(target, offs); 
    if ($(this).hasClass('pressed')) { 
     return false; 
    } else { 
     $('.pressed').removeClass('pressed'); 
     $('#needToScroll').animate({scrollTop: offs - 115}, 400); 
    } 
    $(this).addClass('pressed'); 
} 
else{ 
    console.log('undef sel'); 
} }); 

我有这个here的小提琴。请有人解释我。

+0

使用HTML锚点滚动到列表中的特定位置不是更好吗? – Raibaz

+0

@Raibaz我试过了,效果一样。我认为标记没有问题。 – David

回答