【发布时间】:2015-12-14 10:08:35
【问题描述】:
我发现了一段非常有用的代码,它可以让您对元素的旋转进行动画处理,虽然它对我来说几乎完美无缺,但结果却令人毛骨悚然。
$.fn.animateRotate = function(angle, duration, easing, complete) {
var args = $.speed(duration, easing, complete);
var step = args.step;
return this.each(function(i, e) {
args.complete = $.proxy(args.complete, e);
args.step = function(now) {
$.style(e, 'transform', 'rotate(' + now + 'deg)');
if (step) return step.apply(e, arguments);
};
$({deg: 0}).animate({deg: angle}, args);
});
};
$(".glyphicon-remove").on("click", function() {
$(this).animateRotate(45, 1000);
preventDefault();
});
正如在我的 jsFiddle 中看到的那样,旋转是有效的,但是在第二次单击按钮时,元素不会再次旋转,而是先重置,然后再旋转。
如何防止这种“重置”发生?
【问题讨论】:
标签: jquery css ruby-on-rails animation rotation