while循环在jquery中与某些数学函数崩溃

时间:2016-04-19 23:23:48

标签: javascript php jquery ajax


所以我使用ajax从php获取数组。在ajax中,我想分解数组以将某些部分放入某些div中 我在这里制作代码,选择哪些部分适合放在哪里并放在那里:

while (array[x] != null) {
  y = 0;
  if (2 < x) {
    if (x == 3) {
      x = 0;
      y = x;
    } else {
      y = x / 2
    }
  }
  setTimeout(function() {
    if (y == 0 || x % 3 === 0) {
      var namestring = array[y];
      var namestring = array[y].replace('[', '');
      var namestring = namestring.replace('[', '');
      var namestring = namestring.replace('"', '');
      var namestring = namestring.replace('"', '');
    }
    if (y % 2 != 0 || y % 3 != 0 && x > 0) {
      alert(y);
      var date = array[y]
      var date = date.replace('"', '');
      var date = date.replace('"', '');
    }
    if (x % 2 == 0 && x > 0) {
      var text = array[y];
      var text = text.replace('"', '');
      var text = text.replace('"', '');
      var text = text.replace("]", '');
      var text = text.replace("]", '');

      createcard(namestring, date, text);
    }
  }, 500);
  if (x > 500) {
    break;
  };
  x = x + 1;
}

问题在于这一部分:

if(2 < x) {
    if (x == 3) {
        x = 0;
        y = x;
        } else {
            y = x/2
    }
}

导致程序崩溃。如果我没有它,那么它工作正常。另外,如果我没有这个,那么我的问题就不起作用了。为什么会这样?
谢谢!

1 个答案:

答案 0 :(得分:0)

我解决了!

while (array[y] != null) {
                if (y == 0 || y % 3 === 0) {
                    alert(y);
                    var namestring = array[y];
                    alert(namestring);
                    var namestring = namestring.replace('[','');
                    var namestring = namestring.replace('[','');
                    var namestring= namestring.replace('"', '');
                    var namestring= namestring.replace('"', '');
                    y++;    
                }
                if (y % 2 != 0 || y % 3 != 0 && x > 0) {
                    var date = array[y]
                    var date = date.replace('"', '');
                    var date = date.replace('"', '');
                    y++;
                }
                if (y % 2 == 0 && y > 0) {
                    var text = array[y];
                    var text = text.replace('"', '');
                    var text = text.replace('"', '');
                    var text = text.replace("]", '');
                    var text = text.replace("]", '');
                    y++;

                    createcard(namestring,date,text);
                }
            if (y > 500) {
                break;
            };      
        }