0

我想创建一个小工具来帮助可视化嵌套的 for 循环。该工具看起来像这样,但有多行圆圈:

http://jsfiddle.net/ZkLTX/

var sequenceTrack1 = [1, 2, 3, 4];

//START TRACK1 Code//
var counterTrackOne = 0;

function iterateTrackOne() {
    if (sequenceTrack1.length > counterTrackOne) {
        counterTrackOne++;
        $("#track1_Step" + [counterTrackOne]).effect("highlight", {
            color: "#749CD5"
        });

        setTimeout(iterateTrackOne, 1000);
        if (counterTrackOne === sequenceTrack1.length) {
            counterTrackOne = 0;
        }
    }

};
iterateTrackOne();

但是,当我编写上面的代码时,我没有使用任何 for 循环,而是想对其进行重构。我的第一步是简单地使用 for 循环以定时间隔运行控制台日志消息。不知道该怎么做。

4

1 回答 1

0

我没有 100% 遵循您的代码,但这是您想要做的吗?

我不知道你是否打算无限迭代。

我的猜测是你只想迭代一次,因为你的函数名是这样说的。

这是我的叉子:http: //jsfiddle.net/5jNXv/2/

var sequenceTrack1 = [1, 2, 3, 4];

//START TRACK1 Code//

for (var i = 0, l = sequenceTrack1.length; i < l; i++) {
    setTimeout((function (i) {
        return function () {
            $("#track1_Step" + sequenceTrack1[i]).effect("highlight", {
                color: "#749CD5"
            });
        };
    })(i), 1000 * i);
}
于 2013-09-06T09:36:53.880 回答