Safari 中的 JavaScript 动画

Posted

技术标签:

【中文标题】Safari 中的 JavaScript 动画【英文标题】:JavaScript animation with Safari 【发布时间】:2010-09-07 01:46:52 【问题描述】:

我正在尝试创建使用 javascript 的 Web 应用程序。我希望能够在这些应用程序中使用动画。我尝试使用基本的 JavaScript,但我认为最好的办法是使用库(例如 YUI 或 jQuery)。

我遇到了问题。在 Safari 上,当我运行动画脚本时,动画非常粗糙,非常块状。 YUI 和基本的 JavaScript 都会发生这种情况。为什么会这样?有没有什么好的库不会在 Safari 中产生这个问题,但也适用于 Internet Explorer 和 Firefox(希望还有 Opera)?

【问题讨论】:

【参考方案1】:

我发现MooTools 非常适合动画,只是比 jQuery 更流畅一点。

我通常更喜欢 jQuery,我发现它更直观(无论如何在我的脑海中),但如果流畅的动画是最重要的要求,我会使用 MooTools。

【讨论】:

【参考方案2】:

JQuery 有动画,但我不知道在 Mac 上是什么样的(我没有 mac)。如果事情进展缓慢,那么您可能使动画过于复杂。请记住,JavaScript 是一种慢速语言,而 DOM 不是为动画而设计的,因此请尽量限制自己同时动画的数量。总是问动画是否真的有必要。

【讨论】:

【参考方案3】:

好吧,如果应用程序是 Safari 特定的,那么对于初学者来说,您可以使用 CSS 转换。否则,JQuery 有一些内置动画和一个庞大的社区(因此,一个大型插件存储库)。

【讨论】:

【参考方案4】:

您可以下载一些示例代码并在本地检查以确保一切正常。例如,您可以在http://www.manning.com/bibeault/ 获取 B&K 的 jQuery 书的源代码(查看源链接)并尝试第 5 章的示例。如果这些页面在 Safari 上(本地)适合您,那么至少您知道你的基本环境是健全的。

我遇到了类似的问题,我怀疑 jQuery 会遇到 Safari 错误。但是我还没有弄清楚是我在编写草率的代码(FF 可能比 Safari 更宽容),或者是 Safari,还是 jQuery。如果我变得更聪明,我会发布更多。

【讨论】:

【参考方案5】:

奇怪,WebKit(Safari 使用的 JavaScript 引擎)应该非常快。确保您拥有最新版本,最近 Safari 和 Firefox 版本中的 JavaScript 引擎取得了很大进展。另外,我认为Dojo 和MooTools 的动画速度比jQuery 快,至少在我的经验中是这样。

【讨论】:

以上是关于Safari 中的 JavaScript 动画的主要内容,如果未能解决你的问题,请参考以下文章

Safari 中的 SVG 动画

Safari 中的 CSS 动画错误

safari/chrome iphone中的动画速度没有变化

Safari中留下jquery动画的问题

如何使 CSS 属性动画在 Safari 中像在 Google Chrome 中一样工作?

速记中的 CSS3 动画播放状态在 IE 和 Safari 中不起作用