iOS Safari Javascript设置超时问题

iOS Safari Javascript设置超时问题,javascript,jquery,ios,safari,settimeout,Javascript,Jquery,Ios,Safari,Settimeout,我在mobile safari上正确执行javascript方法setTimeout()时遇到问题 我的代码如下: function addBlock() { if(i < full) { $('#box-'+i).removeClass('empty'); $('#box-'+i).addClass('full'); i++; setTimeout(addBlock, 20); } else { if(fullcheck != Math

我在mobile safari上正确执行javascript方法setTimeout()时遇到问题

我的代码如下:

function addBlock() {
  if(i < full) {
    $('#box-'+i).removeClass('empty');
    $('#box-'+i).addClass('full');
    i++;
    setTimeout(addBlock, 20);
  }
  else {
    if(fullcheck != Math.round(fullcheck)) {
      i = i++;
      $('#box-'+i).removeClass('empty');
//      $('#box-'+i).addClass('halfbox');

      $('#total-count').animate({height: barheight}, 5000);

    }
    if(usergiven) {
      $('#box-'+randbox).css('border', '1px SOLID #FF0000');  
      $('#box-'+randbox).css('background-color', '#FF0000');  
    }
  }
}
函数addBlock(){
如果(i
无论我为setTimeout函数提供了什么样的超时值,它似乎总是以相同的速度运行

其思想是,它以快于每2秒1的速度填充一组块(实际数量应为每秒50个iirc)

谁能告诉我为什么mobile safari没有正确执行此功能,或者我做错了什么


谢谢

关于这个问题,有很多事情很难解释。一个是没有声明的变量数量,或者没有注释的表达式数量(如
fullcheck!=Math.round(fullcheck)
.WTF!?),另一个是此代码的行为方式,而不是您希望它的行为方式

由于代码不完整且不可运行,人们只需猜测您的意思。我猜你是说代码在两秒钟内完成,就像现在一样,你希望它在五十秒钟内完成


如果不知道
i
full
的值,就不可能对正确的超时进行任何计算,因此我必须猜测您做错了什么。当前的超时速率为20ms,每秒将处理大约500行。如果它当前在两秒钟内运行,则意味着您有4000行。如果要在50秒内填写,您必须将超时时间延长到500毫秒。

谢谢,这个问题已经不再相关,但据我所知,这不是我的代码,我是为其他人发布的。我接受了你的回答,因为你已经抽出时间来回答了。谢谢