我不明白为什么scrollTop()jQuery函数在Firefox的'body'元素上不起作用。

$('body').scrollTop(0);

我使用以下方法解决了问题:
$(window).scrollTop(0);

但是根据jquery文档,scrollTop()应该适用于所有元素,例如本示例:
$( "div.demo" ).scrollTop( 300 );

我也用'nav'和'main'进行了测试,但是它也不起作用。

最佳答案

滚动

似乎所有浏览器IE9 +都支持$(window).scrollTop(0);(也许是IE8,但我不再对此进行测试)。

动画滚动

如果要对滚动进行动画处理,如果使用window对象(已测试1.11.2),则jQuery返回错误。相反,要使滚动动画,最好同时使用htmlbody来覆盖使用其中任一引擎的引擎。所以:
$('html, body').animate({scrollTop:0},500);将在半秒内滚动到浏览器顶部。

滚动位置

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

关于javascript - jQuery scrollTop()在Firefox中的 'body'元素上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21556752/

10-11 20:08
查看更多