0
4

3 回答 3

1

您可以通过使用 offset 滚动到所需的元素来做到这一点:

$('html, body').animate({
    scrollTop: $("header").offset().top
}, 500);
return false;

其中 500 是以毫秒为单位的速度。一定要包括return false;. 这样您就可以避免默认的浏览器操作,这会导致轻微的闪烁。

有关示例,请参见http://jsfiddle.net/wf8dh/2/ 。

于 2013-05-19T11:27:54.423 回答
1

滚动动画应该在 html 标签或 body 标签上完成。但要记住一件事.. 尝试首先将顶部偏移值存储在变量中,因为有时动画函数可能无法立即处理它并且可能会附加“未定义”。所以像这样使用它

           $("a").click(function(){
               var top = $("#header").offset().top;
               $("html, body").animate(function(){
                   scrollTop : top+"px"
               }, 2000);
          });

这就是滚动动画的工作原理...... :)

于 2013-05-19T11:32:43.047 回答
0

这是我认为您正在寻找的示例

于 2013-05-19T11:24:14.130 回答