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

时间:2016-05-25 19:07:52

标签: javascript jquery html jquery-animate css-transitions

一个问题让人想起回答this one,其中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,这是正确的,但我认为不是那个主题。

所以这就是问题:

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

1 个答案:

答案 0 :(得分:1)

所有评论的结论:

jQuery并非为动画对象 而创建,因此它可能会很慢且滞后(取决于您动画的内容和数量)。但是,例如,使用jQuery的{​​{1}}功能滚动页面在大多数情况下效果非常好。

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

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

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