jquery的animate无法支持transform属性的解决方案

需求:
最近在用jquery来编写页面的动画效果。毕竟是pc端,偶尔不用原生的日子。
结果就遇到了transform无法加载的情况。

解决方案一:

$($sub).animate({},5000,function(){
    $(this).css({'transform':'translateX(300px)'});
})

在动画函数的回调函数里执行。时间和效果就没了意义,毕竟函数是在动画完成之后才有调用

解决方案二:
可以通过addClass()方法来代替此动作:
比如想旋转一个icon
在css中加入一个class

.add_transform{
    transform:rotate(180deg);
    -ms-transform:rotate(180deg);/* IE9 */
    -moz-transform:rotate(180deg);/* Firefox */
    -webkit-transform:rotate(180deg);/* Safari和Chrome */
    -o-transform:rotate(180deg);/* Opera */
    transition:all 0.5s ease-in-out;
    -moz-transition:all 0.5s ease-in-out;/*Firefox 4 */
    -webkit-transition:all 0.5s ease-in-out;/* Safari和Chrome */
    -o-transition:all 0.5s ease-in-out;/* Opera */
}

然后通过$(“选择器”).toggleClass(“.add_transform”);来使icon的旋转变为动画效果。

解决方案三:
或者下载补丁(加一个js文件):

https://github.com/zachstronaut/jquery-animate-css-rotate-scale/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值