更流畅的Jquery动画

前端之家收集整理的这篇文章主要介绍了更流畅的Jquery动画前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有另外一个关于这个的线程,但它没有得到解决,可能是因为我的问题不是很清楚.

只是想再试一次,希望我能够解决这个问题:

我最近的任务是创建一个单页网站,模仿基本的Flash动画,即滑入和淡入元素.

当我进行交互式模拟时,我遇到了一个很大的问题 – 不稳定的动画.这个问题出现在屏幕大于18英寸的Mac上,无论浏览器和低于18的Mac都只针对FF版本3及以下版本.在PC上,动画几乎完美无瑕.

这是我的jquery代码,受影响的元素用ids#md1,#md2和#md3标记

$(document).ready(function () {
    $('#md1').animate({ top: "-60px" },500);
    $('#md2').animate({ top: "60px" },800);
    $('#md3').animate({ left: "60px" },1000);
    $('.home').fadeTo(3000,0.8);
    $('#bg-img-4').fadeTo(1200,1);
    $('#menu').fadeTo(4000,1);
    $('#copyright').fadeTo(4000,1);
});

我采用了各种优化方法,包括在索引页面上缓存受影响的div中存在的图像,然后将用户重定向到实际页面并排队动画,但没有任何效果.

这真的非常令人沮丧,因为我似乎已经用尽了我所知道的所有可用方法,而且我似乎无法让它在Mac上运行良好.

我有一种直觉,认为我正在编写太多关于文档准备的动画,这导致了缓慢 – 任何人都可以确认这是否是主要原因,如果还有其他方法我可以解决这个问题?

非常感谢你的帮助.非常感谢=)

解决方法

最好的方法是使用CSS过渡/动画.
如果某些浏览器不支持它们,那么这样的浏览器对任何类型的动画都不好.

CSS中的过渡和动画可以通过本机代码更好地优化,因此理论上可以表现出更加平滑(更高的FPS)行为.

截至上面的jquery动画:

>尝试减少复杂元素上的fadeTo数量.
>尝试简化样式 – 减少不透明度或rgba()的用例数量,并保持透明度.

一般来说:你拥有的DOM元素越少越好.

猜你在找的jQuery相关文章