为啥 jQuery 必须接收 2 个对象:使用动画滚动整个页面时的 body 和 html?

Posted

技术标签:

【中文标题】为啥 jQuery 必须接收 2 个对象:使用动画滚动整个页面时的 body 和 html?【英文标题】:Why jQuery has to receive 2 objects: body & html when scrolling whole page with animation?为什么 jQuery 必须接收 2 个对象:使用动画滚动整个页面时的 body 和 html? 【发布时间】:2012-04-03 21:45:21 【问题描述】:

在我在网上找到的所有关于使用 jQuery 动画滚动页面的教程中,我发现他们中的大多数都使用以下代码来做到这一点:

$("html, body").animate(....

我试图找出为什么需要为 2 个对象设置动画:html 和 body,但不是运气。 我可能认为它需要涵盖所有主要浏览器......但为什么真的,有人可以解释一下吗?

【问题讨论】:

【参考方案1】:

chrome/safari 使用 html 来制作动画,而 firefox 使用 body(可能反过来,不记得了!)

你可以只使用 $(window).animate。

【讨论】:

此外,旧版本的 Opera 会同时为两者设置动画!这是一个article 解释它以及修复。

以上是关于为啥 jQuery 必须接收 2 个对象:使用动画滚动整个页面时的 body 和 html?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 触发 CSS 摇动动画,每隔一段时间都有效……为啥?

JQuery - 为啥 JQuery 动画是同时的?

SVG的JQuery函数,一旦第一个动画完成就执行第二个动画?

为啥使用jQuery时不能通过window对象访问对象?

Jquery在行路径中水平动画六个图像

jquery animate 动画效果使用说明