为什么$('html')。animate()仅适用于IE和$('body')。Chrome / Safari需要animate()吗?

时间:2011-03-08 10:53:47

标签: javascript jquery jquery-selectors

我必须使用$('html, body').animate()使代码段与浏览器完全兼容,但在链接动画时这很不方便,因为它们有时会同时作用于<html><body>

IE8取决于拥有'html',而Chrome或Safari依赖于'body',因此我必须同时包含这两者。

为何出现差异?

2 个答案:

答案 0 :(得分:5)

我认为这是因为滚动条(我认为你是动画的)是内置在不同位置的浏览器中的。我之前遇到过这个问题,并且必须使用你所采用的相同方法。有点烦人,但当你希望它们在所有浏览器中工作时,大多数情况都是如此: - )

答案 1 :(得分:0)

您永远不应该$('html').animate,因为您只应为内容制作动画,而html标记不是内容标记。坚持$('body').animate,它应该适用于所有浏览器。