单页上不同元素的多个setInterval

时间:2014-01-29 09:29:38

标签: javascript

我有不同的span元素。每个元素都显示一个值,该值由refresh()方法确定。现在我想通过使用javascript的setInterval方法刷新每个元素的值。我尝试了以下代码:

            var i = 0;
            var refresher = new Array();
            for(i=0;i<=no_of_times;i++){
                $("#main").append('<tr>');
                $("#main").append('<td>Value: <b><span id="id'+i+'"></span></b></td>');
                refresh("key", i);  //for first values
                refresher[i] = setInterval("refresh(configJSON.users[i].key, i)",30000);
            }
            $("#main").append('</table>');
        }

该值首次显示,但30秒后未刷新。可能是什么原因

1 个答案:

答案 0 :(得分:0)

尝试那样;

    function f(key, i) {
        refresh(key, i);
        setTimeout(function() {
            f(key, i);
        }, 30000);
    }
    var i = 0;
    var refresher = new Array();
    for(i=0;i<=no_of_times;i++){
        $("#main").append('<tr>');
        $("#main").append('<td>Value: <b><span id="id'+i+'"></span></b></td>');
        f(key, i);
    }
    $("#main").append('</table>');

通过这种方式,每30秒刷新一次。