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将返回错误。 相反,要为滚动设置动画,最好同时使用html
和body
来覆盖使用其中任何一个的引擎。 所以:
$('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');