【问题标题】:Jquery setInterval into for loopjQuery setInterval 进入 for 循环
【发布时间】:2015-03-23 11:51:00
【问题描述】:

我有两个数组:pts,我想创建新的 test 数组。

每次我将新对象从pts 添加到test 时,我都需要调用将执行mimicSvg(test,1) 函数的函数,数组测试(从0 到m)

我写:

var test=[{"X":"300","Y":"400"}];
for(var m=1;m<pts.length;m++){
    var q = pts[m].X;
    var e = pts[m].Y;
    test.push({"X":q,"Y":e});
    setInterval(mimicSvg(test,1), 2000);
  }

但 setInterval 不起作用,而是我同时执行所有 m 次函数。

我该如何解决这个问题?

【问题讨论】:

标签: javascript jquery arrays for-loop setinterval


【解决方案1】:

setInterval 采用对要运行的函数的引用或匿名函数。因为您尝试使用参数调用另一个函数,所以需要将其包装在匿名函数声明中。试试这个:

setInterval(function() {
    mimicSvg(test,1)
}, 2000);

【讨论】:

  • 附带说明,您仍然可以将参数传递给 setInterval() 方法,不需要匿名函数:setInterval(mimicSvg, 2000, test, 1);
  • @A.Wolff 我实际上没有意识到签名被包括在内。每天都是上学日:D
  • 我尝试了我的代码并与 setInteral 一起工作,但为什么这会同时给我所有 25 个元素,为什么不逐步进行 for 循环:var test=[{"X":"300" "Y":"400"}]; for(var m=1;m
猜你喜欢
  • 2014-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多