我不明白为什么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返回错误。相反,要使滚动动画,最好同时使用html
和body
来覆盖使用其中任一引擎的引擎。所以:$('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/