HTML5 使用CSS3动画代替jQuery的animate()以增加其执行效率

使用jQuery动画比较方便,其带来的缺点是执行效率比较低,在电脑上某些场景会卡顿,更别说在手机上了。

所以为了解决动画的流畅度问题,我使用了CSS3的动画属性。

$(".image_room3").css({
        "opacity":"1",
        "transform":"translateY(-267px)",
        "-ms-transform":"translateY(-267px)", /* IE 9 */
        "-webkit-transform":"translateY(-267px)", /* Safari and Chrome */
        "transition":animationType+" "+animationTime+"ms",
        "-ms-transition":animationType+" "+animationTime+"ms",
        "-webkit-transition":animationType+" "+animationTime+"ms",
      })

代码如上:

使用transform来定义动画的类型

使用translation来判断动画的执行时的条件

 

 

 

还有一种使用场景:

我先定义好,然后需要的时候再使用:

/*淡出效果*/
@keyframes fadein{
    0%{opacity: 0;
         }
    100%{
        opacity: 1;

    }
}
@-webkit-keyframes fadein{
        0%{opacity: 0;
         }
    100%{
        opacity: 1;

    }
}
@-moz-keyframes fadein{
        0%{opacity: 0;
         }
    100%{
        opacity: 1;

    }
}
@-o-keyframes fadein{
        0%{opacity: 0;
         }
    100%{
        opacity: 1;

    }
}
@-ms-keyframes fadein{
        0%{opacity: 0;
         }
    100%{
        opacity: 1;

    }
}

 

先定义好了。

然后在需要的时候进行使用:

setTimeout(function(){
      $(".image_cloud").css({
        "animation":"fadein 1s linear 1 forwards",
        "-webkit-animation":"fadein 1s linear 1 forwards",
        "-moz-animation":"fadein 1s linear 1 forwards",
        "-o-animation":"fadein 1s linear 1 forwards",
        "-ms-animation":"fadein 1s linear 1 forwards",
      })
    },600);

fadein就是其名称,使用的时候    指定好名称即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值