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

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

IE8取决于拥有’html’,而Chrome或Safari依赖于’body’,因此我必须包括两者。

为什么会出现差异?

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

你甚至不应该做$('html').animate因为你只应该为内容添加动画,而html标签不是内容标签。 坚持使用$('body').animate ,它应该适用于所有浏览器。