1

我在尝试使用 javascript 自动滚动时遇到问题。我的滚动区域是正文,我的 js 代码是

$("body").animate({scrollTop: $("#myDiv").position().top)

但我没有得到任何结果:没有动画也没有滚动我也试过

$("body").scrollTop($("#myDiv").position().top);

并且还更换

$("body") with $(window).

有什么提示吗?

4

4 回答 4

3

scrollTop is a jQuery method which gets or sets the the offset of the current elements scroll bar, but with no animation.

You might be getting confused with the jQuery plugin scrollTo, which offers the functionality you're after.

You'd use it like;

$(window).scrollTo($('#myDiv');
于 2012-05-04T14:08:09.633 回答
1

试试下面的代码,

$('html,body').animate({scrollTop: $("#myDiv").offset().top},500);
于 2013-08-30T05:33:57.580 回答
1

scrollTop是一个 javascript 属性,您可以像这样使用它:

document.body.scrollTop = scrollValue;

或者

$("body").get(0).scrollTop = scrollValue;

如果您想为滚动设置动画,还有一个由 Ariel Flesler 编写的名为jQuery ScrollTo的插件:

http://demos.flesler.com/jquery/scrollTo/

于 2012-05-04T14:11:58.583 回答
0

注意:如果您启用了 chrome://flags/#enable-experimental-web-platform-features,上面列出的插件将不起作用。这是一个已知问题:https ://github.com/flesler/jquery.scrollTo/issues/92

于 2014-09-15T17:52:53.467 回答