我应该使用/避免jQuery动画吗?

一个问题突然出现在回答这个问题 ,其中OP希望应用此转换:

test.css({transition: 'height 1s linear', height: '100px'}); 

然后回到这个:

 test.css({transition: 'none', height: '0px'}); 

他说他需要从js完成它,并要求一个更好的主意,所以我提出了这种方法:

 test.animate({height: '100px'}, 1000, 'linear', function(){ test.css({transition: 'none', height: '0px'}); }); 

这是我的jsFiddle: https ://jsfiddle.net/mqaunyvp/1/

@Matrix评论说JS和jQuery动画不如原生CSS优化,这是正确的,但我认为不是在那个主题中的主题。

所以这是一个问题:

按照我建议的方式完成这项工作是否正确? 或者你会反对吗? 为什么?

所有评论的结论:

jQuery不是为动画对象创建的 ,所以它可能很慢且很迟钝(取决于你动画的内容和数量)。 但是,在大多数情况下,使用jQuery.animate()函数滚动页面非常.animate()

对于更高级的动画 (如移动对象或同时执行复杂或多个动画),请使用库作为velocity

如果您只想为文本样式/颜色或下拉菜单设置动画 ,则使用CSS过渡/动画会更快(更容易IMO)。

所以这取决于你在做什么。 希望这可以帮助!