【发布时间】:2014-04-26 13:47:14
【问题描述】:
我在使用 jquery 的 animate 方法执行简单的旋转动画时遇到问题。我正在尝试以 45 度旋转开始一个正方形,然后在单击按钮时将正方形再旋转 45 度(以 90 度完成)。
但是,当我尝试制作动画时,正方形首先会猛拉回 0 旋转,然后开始向最终完成点(90 度)前进。
这似乎是因为 animate() 的“step”选项的“now”参数从 0 开始,而不是元素的实际起点 45 度。
对我在这里做错了什么有什么想法吗?
http://jsfiddle.net/agentfitz/btz89/2/
// css
.square {
transform: rotate(45deg); // starting point
}
// js
$(".square").animate(
{
rotation: 90,
},
{
step: function(now, tween) {
var $el = $(this);
if (tween.prop === "rotation") {
console.log(now);
$el.css('transform','rotate('+now+'deg)');
}
},
duration: 2000
}
);
【问题讨论】:
标签: javascript jquery css jquery-animate