我正在寻找一种使用 css 动画的方法,但如果用户浏览器不做 css 动画 - 然后回退到使用 Jquery 动画。有没有一种简单的方法可以在 Jquery 中做到这一点?一个插件就可以了,如果它是一个小插件,但如果可能的话,我真的在寻找一些在 jquery 中执行此操作的方法。我想使用 css 动画的唯一原因是因为使用 css 动画时使用的处理器功率要低得多。
问问题
1887 次
3 回答
5
jQuery animate 增强插件使用 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
}
于 2011-04-10T14:33:38.327 回答
1
你不应该关心它。动画并不重要。如果您进行渐进式增强,每个用户都将获得他们的浏览器让他们拥有的最佳体验:)。
如果您非常关心“处理器能力”,那么您根本不想在 IE 上拥有动画。否则,只使用 jQuery,这似乎最适合您的特定需求。
于 2011-04-11T07:07:12.263 回答
0
jQuery 建议使用jQuery.support来确保某些功能由浏览器维护。像:
jQuery.support.opacity //returns true/false
核心 jQuery 不会让位于测试 CSS3 属性,但插件会。你可以在功能描述后的评论中找到一些这样的插件(比如这个)
于 2011-04-10T14:32:03.247 回答