jQuery scrollTop()无法处理Firefox中的’body’元素

我不明白为什么scrollTop()jquery函数不能在Firefox上的’body’元素上运行。

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

我修复了我的问题:

 $(window).scrollTop(0); 

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

 $( "div.demo" ).scrollTop( 300 ); 

我也用’nav’和’main’进行了测试,但它也没有用。

滚动

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

动画滚动

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

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

滚动位置

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

如果您希望浏览器之间保持一致,请使

 $(window).scrollTop(); 

试试这个:

你的div要滚动:

 

并滚动顶部js:

 $('html,body').animate({scrollTop: $('#top').offset().top},'slow');