$(’html,body’)。animate和$(’body’)之间的区别.animate?
例如,滚动到页面上的某个元素(即这里: 如何转到页面上的特定元素? )
$("#fromTHIS").click(function() { $("html, body").animate({ scrollTop: $("#toTHIS").offset().top }, 500); return true; });
我试过了两个,他们都看起来他们正在做这个工作。 我错过了什么?
您为BOTH $('html, body')
使用选择器的原因是因为Web浏览器不一致。 经过几次测试后,我发现了三件事:
- 浏览器
Firefox
和IE
使用此选择器的html部分 - “webkit类”中的浏览器例如:
Safari
和Chrome
响应身体。 -
虽然可以通过使用$(document)
来避免这个问题。
jQuery bug跟踪器上还有一张票, 专门说明了这个问题
$('html, body')
似乎是跨浏览器滚动动画的jquery解决方案。
如果您想要一个没有动画的跨浏览器解决方案,您可以继续尝试:
$(window).scrollTop(0); // Accepts int of pixels.
在最新的Chrome,Opera和FF上进行了测试。 似乎跨浏览器工作。 (除非有人可以确认它不适用于IE或Safari或其他人)
阅读有关jQuery scrollTop的更多信息。