如何重复循环javascript对象?

时间:2012-06-20 19:01:25

标签: javascript jquery html css

我有一个像这样的javascript对象:

var object = [{ id: 1, title:"xyz" }, {id: 2, title: "abc"}, {id: 3, title: "sdfs"}];

现在我要做的就是通过对象,它会读取第一个id并输出“xyz”,然后暂停5秒,然后通过第二个id并输出“abc”,暂停5秒然后再次通过第三个输入输出“sdfs”,再次暂停5秒并从条目1开始全部重复。我希望这可以无限期地继续下去。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:5)

您的基本递归函数:

function recursive(obj,idx) {
    if (obj[idx]) {
        alert(obj[idx].title);
       setTimeout(function(){recursive(obj,idx+1);}, 5000); // milliseconds
    };
};
recursive(myObject,0);

或者,无限循环:

function recursive(obj,idx) {
    if (obj[idx]) {
        alert(obj[idx].title);
        setTimeout(function(){recursive(obj,idx+1);}, 5000); // milliseconds
    } else {
        recursive(obj,0);
    };
};
recursive(myObject,0);

http://jsfiddle.net/Mezxw/

答案 1 :(得分:0)

var object = [{ id: 1, title:"xyz" }, {id: 2, title: "abc"}, {id: 3, title: "sdfs"}];

setTimeout(doNextObject, 5000);

var index = 0;
var length = object.length;

function doNextObject() {
    alert(object[index].title);

    index = ++index % length;
    setTimeout(doNextObject, 5000);
}