Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的循环只能在循环中使用警报进行正确迭代?_Javascript_Android_Jquery - Fatal编程技术网

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

Javascript 为什么我的循环只能在循环中使用警报进行正确迭代?,javascript,android,jquery,Javascript,Android,Jquery,我在一个移动应用程序中编写了一个循环,它以特定的模式振动手机,并根据用户的指定重复多次。请参阅下面的代码: do { navigator.vibrate([200,200,200,200,200,1000]); //alert("v" + vibrator); //alert("a" + alert_number); vibrator++; } while (vibrator < alert_number); do { 振动([20010

我在一个移动应用程序中编写了一个循环,它以特定的模式振动手机,并根据用户的指定重复多次。请参阅下面的代码:

do
{   
    navigator.vibrate([200,200,200,200,200,1000]);  
    //alert("v" + vibrator); 
    //alert("a" + alert_number);
    vibrator++;
}
while (vibrator < alert_number);
do
{   
振动([2001000]);
//警报(“v”+振动器);
//警报(“a”+警报编号);
可控震源++;
}
while(可控震源<报警编号);

现在,当警报被注释掉时,模式只“振动”一次,而不管警报编号的值(模式重复的次数)。如果alerts()处于活动状态,则模式会重复正确的次数,尽管只需按几下alerts即可关闭弹出窗口,这是我不希望看到的。有人能告诉我为什么警报会影响环路的运行吗?

您最好在这种情况下使用,因为每次振动之间需要一个延迟,否则它将“一次全部”发生

例如


听起来你需要加上延迟,实际上发生的是,振动的模式都在同一时间发生,在彼此之间?我原以为情况可能是这样,但正在努力想出最好的方式来拖延。
var vibrator = 0;
var v_id = setInterval(function() {
    navigator.vibrate([200,200,200,200,200,1000]);
    if(vibrator++ == alert_number) {
        clearInterval(v_id);
    }
}, 250);