为什么我的循环只能在循环中使用警报正确迭代?

时间:2017-04-11 13:07:55

标签: javascript android jquery

我正在一个移动应用程序中编写一个循环,以某种模式振动手机,重复按用户指定的次数。请参阅以下代码:

do
{   
    navigator.vibrate([200,200,200,200,200,1000]);  
    //alert("v" + vibrator); 
    //alert("a" + alert_number);
    vibrator++;
}
while (vibrator < alert_number);

现在,警告被注释掉,无论alert_number的值(模式重复的次数)如何,模式只会“振动”一次。如果我有alert()激活,模式会重复正确的次数,虽然只需按几下警报即可关闭弹出窗口,这是我不想要的。谁能告诉我为什么有警报会影响循环的操作?

1 个答案:

答案 0 :(得分:0)

在这种情况下你最好使用preview,因为你需要在每次振动之间有一个延迟,否则它会一下子全部发生。

E.g。

var vibrator = 0;
var v_id = setInterval(function() {
    navigator.vibrate([200,200,200,200,200,1000]);
    if(vibrator++ == alert_number) {
        clearInterval(v_id);
    }
}, 250);