jQuery scrollTop - 动画无效

时间:2012-11-07 12:47:03

标签: javascript jquery html jquery-animate

使用找到here的示例,我正在尝试使用相同的工具。当我点击导航链接时,它会跳转到所选的div而不是滑动/滚动。

HTML:

导航

<div class="span3">
        <a href="#about-me"><img class="img-circle" src="http://placehold.it/200x200/e36b23/fff/&text=About+Me+"></a>
</div>

DIV

<div class="row-fluid" id="about-me"> ... </div>

JS:

<script>
$(document).ready(function(){

    $('nav ul li a').click(function(){
        var el = $(this).attr('href');
        var elWrapped = $(el);

        scrollToDiv(elWrapped,40);

        return false;
    });

    function scrollToDiv(element, navheight){
        var offset = element.offset();
        var offsetTop = offset.top;
        var totalScroll = offsetTop - navheight;

        $('body,html').animate({
            scrollTop: totalScroll
        }, 1000);
    }
});
</script>

所以这是'点击'div而不是幻灯片动画 - 这就是我想要的。有人有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您不会阻止默认行为,即直接导航(&#34;跳转&#34;)到锚点。所以这就是:

$('nav ul li a').click(function(evt){
  evt.preventDefault();
  ...
});

答案 1 :(得分:1)

您需要调整jQuery选择器以匹配您的html类 - 您没有使用您引用的示例使用的相同ul / li,例如。

$('.span3 a').click(function(){

请参阅here获取小提琴: