jQuery 动画不流畅

标签 jquery scroll easing

如上所述,我的页面流畅性存在问题,我认为 jquery 在某种程度上涉及其中。

我创建了以下单页网站。

http://cgeese.de/tests/Test02/

我使用 jQuery 和 js 插件

问题

单击链接可将页面滚动到具有弹跳缓动功能的目标 div(由 easing.js 提供)。从技术上来说它工作得很好,但对于我的口味来说还不够流畅。

我认为缓动中的口吃问题是我滥用了这些插件之一,但我似乎无法在代码中找到错误。

问题

为什么动画卡顿?如何使其更流畅?

更新 有什么线索吗?似乎使用 jQuery 内置缓动看起来更好一些,但也有同样的问题。所以我猜不是缓动插件留下了 Ariel Feslers 的东西。有没有类似他的插件?

最佳答案

它在 Chrome 上看起来相当流畅。更改缓动类型不会有太大变化...

您的导航位置:已修复,导致每个导航关键帧的整个页面重新绘制/重排。您可以使用 chrome canary 或以下技巧将其可视化:http://paulirish.com/2011/viewing-chromes-paint-cycle/

动画滚动也会触发重绘。还要尽可能多地删除 CSS3 阴影和渐变,它们很难为浏览器制作动画。

我认为 Firefox 有一个插件。

您可以优化它,将其设置为绝对位置,并将您的内容放置在溢出隐藏的 div 中...(某种假主体)

这是一篇关于它的优秀文章:http://www.stubbornella.org/content/2009/03/27/reflows-repaints-css-performance-making-your-javascript-slow/

您可以做的另一件事不是为滚动设置动画,而是为元素本身设置动画,将它们放置在绝对定位的元素中,然后为该元素设置动画。

有关重绘/回流的一些一般准则:https://developers.google.com/speed/articles/reflow

关于jQuery 动画不流畅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10119846/

相关文章:

php - 如何使用通过 jQuery 的 AJAX 发布请求 + php 发送的数组?

javascript - 如何使用 jQuery 使用幻灯片效果将 div 的内容从旧数据更改为新数据?

jquery - 使用缓动切换 div

jquery - 什么是缓动函数?

jQuery 单击目标选择器

javascript - 在网页中创建连续或永无止境的滚动效果?

c++ - SFML 中屏幕滚动时的鼠标位置

java - 滚动 Selenium 的奇怪行为

ios - UITableview scrollsToTop 按下 UINavigationbar

javascript - After Effects 中是否有一个编程/数学术语来说明 Linear() 函数的作用?