$(’html,body’)。animate和$(’body’)之间的区别.animate?

例如,滚动到页面上的某个元素(即这里: 如何转到页面上的特定元素? )

$("#fromTHIS").click(function() { $("html, body").animate({ scrollTop: $("#toTHIS").offset().top }, 500); return true; }); 

我试过了两个,他们都看起来他们正在做这个工作。 我错过了什么?

您为BOTH $('html, body')使用选择器的原因是因为Web浏览器不一致。 经过几次测试后,我发现了三件事:

  1. 浏览器FirefoxIE使用此选择器的html部分
  2. “webkit类”中的浏览器例如: SafariChrome响应身体。
  3. 虽然可以通过使用$(document)来避免这个问题。

jQuery bug跟踪器上还有一张票, 专门说明了这个问题

$('html, body')似乎是跨浏览器滚动动画的jquery解决方案。

如果您想要一个没有动画的跨浏览器解决方案,您可以继续尝试:

 $(window).scrollTop(0); // Accepts int of pixels. 

在最新的Chrome,Opera和FF上进行了测试。 似乎跨浏览器工作。 (除非有人可以确认它不适用于IE或Safari或其他人)

阅读有关jQuery scrollTop的更多信息。