jquery旋转动画
jQuery旋转动画实现方法
使用CSS3 transform属性
通过jQuery动态修改CSS的transform属性实现旋转效果。这种方法性能较好,适合现代浏览器。
$('#element').css({
'transform': 'rotate(45deg)',
'transition': 'transform 1s ease'
});
使用animate()方法
虽然jQuery的animate()不支持直接旋转,但可以通过自定义CSS属性实现:
$({deg: 0}).animate({deg: 360}, {
duration: 1000,
step: function(now) {
$('#element').css({
'transform': 'rotate(' + now + 'deg)'
});
}
});
使用rotate()插件
引入jQuery旋转插件如jquery.rotate.js可以简化操作:
$('#element').rotate({
angle: 0,
animateTo: 360,
duration: 1000
});
关键帧动画结合
定义CSS关键帧动画后通过jQuery控制:

@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
$('#element').css('animation', 'spin 2s linear infinite');
注意事项
- 考虑添加
transform-origin属性设置旋转中心点 - 移动端注意添加浏览器前缀(-webkit-等)
- 连续动画建议使用
requestAnimationFrame优化性能 - 考虑回退方案兼容旧版IE浏览器
性能优化建议
- 尽量使用CSS3硬件加速
- 避免同时进行多个属性动画
- 对静态元素使用
will-change: transform - 适当使用
translateZ(0)触发GPU加速






