数组中的javascript setInterval

标签 javascript arrays setinterval

我创建了一个数组并在其中插入了一个 setInterval,但是 tmp[0] 不起作用

tmp = new Array();
v = new Array();
for(i=0; i<2; i++){
j = 0;
tmp[i] = setInterval("if(j<10+(i*5)){alert(i+' '+j);j++;}else{clearInterval(tmp[i])}", 1000);
}

最佳答案

不要使用 eval。试试这个:

var tmp = new Array();
var v = new Array();
for (i = 0; i < 2; i++) {
    var j = 0;
    tmp[i] = setInterval(function () {
        if (j < 10 + (i * 5)) {
            alert(i + ' ' + j);
            j++;
        } else {
            clearInterval(tmp[i])
        }
    }, 1000);
}

fiddle :http://jsfiddle.net/FKEL6/ (弹出窗口很烦人,请注意。)


这可能会做你想做的事:

var tmp = new Array();
var v = new Array();
var i = 0;
for (i = 0; i < 2; i++) {
    createTmp(i);
}

function createTmp(p){
    var j = 0;
    tmp[p] = setInterval(function () {
        if (j < 10 + (p * 5)) {
            alert(p + ' ' + j);
            j++;
        } else {
            clearInterval(tmp[p])
        }
    }, 1000);
}
console.log(tmp);

fiddle :http://jsfiddle.net/FKEL6/5/ (还有烦人的警报)

关于数组中的javascript setInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7243653/

相关文章:

javascript - 在 jQuery 中, `this.element` 和 `this.element[/* some number */]` 有什么区别?

javascript - Thinkster.io Angularjs 教程第 3 章 - 连接到 Firebase 的问题

java - 使用Java将HSQLDB表中的数据转换为二维数组

java - 将长值放入 JSONArray

Javascript - 在函数中使用clearInterval后重新激活setInterval

javascript - 在指令中使用 $watch 进行了一个小实验

javascript - 使用 'zero' 数据破解 d3 饼图

php - 在数组中插入元素

javascript - windows.onload 和 setInterval 仍然需要手动刷新才能工作

javascript - 防止 JavaScript 定时器重新进入