2

使用此处找到的示例,我正在尝试相同的实现。当我单击导航链接时,它会跳转到选定的 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 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,但不是幻灯片动画——这就是我想要的。有人有想法么?

4

2 回答 2

1

您不会阻止默认行为,即直接导航(“跳转”)到锚点。所以这里是:

$('nav ul li a').click(function(evt){
  evt.preventDefault();
  ...
});
于 2012-11-07T12:58:23.580 回答
1

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

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

这里的小提琴:

于 2012-11-07T13:54:32.060 回答