我不明白为什么scrollTop()jquery函数不能处理Firefox上的'body'元素。
$('body').scrollTop(0);
我使用以下方法解决了我的问题:
$(window).scrollTop(0);
但是根据jquery文档,scrollTop()应该适用于这个例子中的所有元素:
$( "div.demo" ).scrollTop( 300 );
我还测试了'nav'和'main',但它也没有用。
答案 0 :(得分:28)
<强>滚动强>
所有浏览器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();
。
答案 1 :(得分:10)
如果您希望浏览器之间保持一致,请使用window
。
$(window).scrollTop();
答案 2 :(得分:2)
试试这个:
你的div要滚动:
<div id="top"></div>
并滚动顶部js:
$('html,body').animate({scrollTop: $('#top').offset().top},'slow');
答案 3 :(得分:0)
非常简单的代码,可以100%工作
$('body, html').scrollTop(0);