jQuery scrollTop()没有在Firefox中使用'body'元素

j3r*_*6me 18 javascript jquery scroll jquery-selectors

我不明白为什么scrollTop()jquery函数不能在Firefox上的'body'元素上工作.

$('body').scrollTop(0);
Run Code Online (Sandbox Code Playgroud)

我修复了我的问题:

$(window).scrollTop(0);
Run Code Online (Sandbox Code Playgroud)

但是根据jquery文档,scrollTop()应该适用于此示例中的所有元素:

$( "div.demo" ).scrollTop( 300 );
Run Code Online (Sandbox Code Playgroud)

我还测试了'nav'和'main',但它也没有用.

dew*_*ewd 30

滚动

$(window).scrollTop(0); IE9 +似乎得到所有浏览器的支持(可能是IE8,但我不再对它进行测试).

动画滚动

如果要为滚动设置动画,则jQuery在使用window对象时会返回错误(1.11.2已测试).相反,要为滚动设置动画,最好使用两者htmlbody覆盖使用其中任何一个的引擎.所以:

$('html, body').animate({scrollTop:0},500); 将在半秒内滚动到浏览器的顶部.

滚动位置

您无法使用$('html,body').scrollTop()查找页面的当前滚动位置 - 至少Chrome不支持此功能(始终返回0).相反,要始终找到页面的滚动位置,必须使用$(window).scrollTop();.

  • 你的最后一段是救命的。 (2认同)

Iva*_* V. 10

使用window,如果你想浏览器之间的一致性.

$(window).scrollTop();
Run Code Online (Sandbox Code Playgroud)