当使用CSS过渡/动画/等时,如果用户浏览器不执行css动画,那么回退到jquery的最佳方法是什么?

时间:2011-04-10 14:19:04

标签: javascript jquery css css-transitions

我正在寻找一种使用css动画的方法,但是如果用户浏览器没有做css动画 - 那么就可以回退使用Jquery来制作动画了。在Jquery有一个简单的方法吗?如果它是一个小插件,插件就可以了,但是如果可能的话,我真的在寻找一些在jquery中这样做的方法。我想使用css动画的唯一原因是因为使用css动画时使用的处理器功率要低得多。

3 个答案:

答案 0 :(得分:5)

jQuery animate enhanced plugin使用CSS转换,而无需为具有转换功能的浏览器编写特定代码

替代方案不是很令人鼓舞:您可以添加一个功能检测库,如Modernizr,然后为每个案例编写特定的代码,例如......

if (Modernizr.csstransitions) {
  $("#yourdiv").css({
    "-webkit-transform" : "translate(0, 10)",
    "-o-transform" : "translate(0, 10)",
    "-moz-transform" : "translate(0, 10)",
    "-ms-transform" : "translate(0, 10)",
    "transform" : "translate(0, 10)"
});
}
else {
  //do jquery animate stuff
}

答案 1 :(得分:1)

你不应该关心它。动画并不重要。如果您进行渐进式增强,每个用户都将获得他们的浏览器所拥有的最佳体验:)。

如果您非常关心“处理器能力”,那么您根本不想在IE上拥有动画。否则,只使用jQuery,这似乎最适合您的特定需求。

答案 2 :(得分:0)

jQuery建议使用jQuery.support来确保浏览器维护某些功能。像:

jQuery.support.opacity //returns true/false

核心jQuery不会让位于测试CSS3属性,但是插件可以。你可以在功能描述之后的评论中找到一些这样的插件(比如this one