我正在使用javascript函数和画布以及动画功能来旋转轮盘(轮盘式旋转轮) .
当旋转停止时,我试图看到我获得了什么奖励 . 那部分工作得很好 .
现在,我将这个奖项传递给另一个功能,从那里我想将奖品名称发送到后端 . 但是当我想要获得正确的奖励时,我会得到一个正确的细节,但是当我的功能继续进行时,它会经历无限循环然而 .
这是功能:
(function anim() {
deg += speed;
deg %= 360;
// Increment speed
if(!isStopped && speed<3){
speed = speed+1 * 0.1;
}
// Decrement Speed
if(isStopped){
if(!lock){
lock = true;
slowDownRand = rand(0.994, 0.998);
}
speed = speed>0.2 ? speed*=slowDownRand : 0;
}
// Stopped!
if(lock && !speed){
var ai = Math.floor(((360 - deg - 90) % 360) / sliceDeg); // deg 2 Array Index
ai = (slices+ai)%slices; // Fix negative index
// return alert("You got:\n"+ label[ai] ); // Get Array Item from end Degree
submitEntry(label[ai]);
}
drawImg();
window.requestAnimationFrame( anim );
}());
我想我知道 window.requestAnimationFrame(anim)
一次又一次地调用函数的原因,只有 lock and !speed
的条件变为真,但函数一直在继续 .
旋转停止后,如何停止功能或中断功能或退出功能?