我正在使用带有VelocityJS库的JavaScript来为我的屏幕上的指针设置动画。问题是,我得到的输入是我必须经常旋转指针的程度,而不是处理它。
我现在的代码是:
function changePointer(msg){
kmh = parseInt(msg.payloadString);
degreesToTurnTo = Math.round(kmh * stapgrote);
$("#pointer").velocity({
rotateZ: degreesToTurnTo+"deg"
});
console.log(degreesToTurnTo);
}
该函数每秒调用约5次,但1个动画已经需要大约半秒钟。
所以我的问题是,如何制作if语句来检查前一个动画是否准备就绪(这样我可以在完成后再次更新它)。或者我如何取消当前动画并开始下一个动画(因为我正在制作速度表,所以这个方法会更受欢迎)。
提前致谢!
亲切的问候, Mats de Waard
答案 0 :(得分:0)
来自:http://velocityjs.org/#stop
/* Prior Velocity call. */
$element.velocity({ opacity: 0 });
/* Later, midway through the call... */
$element
/* Stop animating opacity. */
.velocity("stop")
/* Animate opacity back to 1. */
.velocity("reverse");
所以在你的情况下如下:
$("#pointer")
.velocity("stop")
.velocity({
rotateZ: degreesToTurnTo+"deg"
});