jQuery性能:css与动画方法

jQuery性能:css与动画方法,jquery,performance,css,jquery-animate,Jquery,Performance,Css,Jquery Animate,我试图避免使用动画,因为它比CSS3动画慢 我只是想知道使用css方法是否仍然比animation快,但比使用transform3d的直接CSS3动画慢 $(this).animate({'opacity' : 'show', 'top' : topPosition+'px'}); vs 如您所见,我不能直接使用css3transform3d,因为我需要动态生成的位置参数 CSS #flashMessage{ position: relative; transition:

我试图避免使用
动画
,因为它比CSS3动画慢

我只是想知道使用
css
方法是否仍然比
animation
快,但比使用
transform3d
的直接CSS3动画慢

$(this).animate({'opacity' : 'show', 'top' : topPosition+'px'});
vs

如您所见,我不能直接使用css3
transform3d
,因为我需要动态生成的位置参数

CSS

#flashMessage{  
    position: relative;
    transition: all 1.4s ease-in-out;
    -webkit-transition: all 1.4s ease-in-out; /** Chrome & Safari **/
    -moz-transition: all 1.4s ease-in-out; /** Firefox **/
    -o-transition: all 1.4s ease-in-out; /** Opera **/
}

jquery动画与jquery css不同,第一个是在一组时间内为elm设置动画,而另一个是在不设置动画的情况下立即应用css属性


css转换可能会更快,但并非所有浏览器都支持css转换,尤其是ie当我可以使用css动画时,会倾向于使用jquery添加和删除动画类,以便动画在我想要的时候开始,在我想要的时候停止

将两者结合使用可能会很有用

当然,在使用CSS动画时,您需要考虑哪些浏览器将处理它


现在我正在寻找性能改进,我注意到jQuery在Internet Explorer中的工作速度较慢,所以我会选择避免在它上转换。CSS3将只在正确的位置显示内容,而不显示它们。那么,当我应用它时,
css
方法是否比
animation
快?如果将jquery animate中的duration参数设置为transition参数,则jquery动画和css转换将花费相同的精确时间,但是FPS(每秒帧数)将因浏览器和动画类型而异。直接应用css属性当然比使用jQueryCSS方法或jQueryAnimate要快。最后一个jQueryCSS总是比jQueryAnimate快。因此,使用
css
方法而不是
animation
方法,动画将运行得更快?这和使用CSS3一样吗?是的,它会更快。jQueryCSS方法与使用css3相同,唯一的区别是css3在页面加载时定义值,而jQueryCSS可以在页面加载期间或之后动态更改css属性。
#flashMessage{  
    position: relative;
    transition: all 1.4s ease-in-out;
    -webkit-transition: all 1.4s ease-in-out; /** Chrome & Safari **/
    -moz-transition: all 1.4s ease-in-out; /** Firefox **/
    -o-transition: all 1.4s ease-in-out; /** Opera **/
}
$(this).animate({'opacity' : 1, 'top' : topPosition+'px'}); //+'px' is not required it would work with/without it.