你如何在javascript中每5秒运行一次函数

时间:2013-11-04 21:21:44

标签: javascript jquery

我正在尝试创建一个javascript,如果我点击div1,我需要load_data1()函数每5秒刷新一次。如果用户点击div2或div3,我需要load_data1()函数来停止。如下面的代码,当我点击div1时,load_data1()函数在5秒后运行并停止,之后它没有运行,任何想法我可能会在这里缺少什么?

 $(document).ready(function(){

$.ajaxSetup({ cache: false });
    var timeout;
     function timeout_init() {
        timeout=setTimeout('load_data1()', 5000);
        return timeout;
    }



    $("#div1").click(function() {
        timeout_init();
        });

    $("#div2").click(function() {
            clearTimeout(timeout);
            load_data2();
    });

    $("#div3").click(function() {
             clearTimeout(timeout);
             load_data3();
    });

});

2 个答案:

答案 0 :(得分:2)

你想使用setInterval()代替setTimeout,而setInterval只触发一次,{{1}}会一直开火直到你清除它

答案 1 :(得分:2)

您可以尝试这样的事情:

window.setInterval(function(){
  /// call your function here
}, 5000);

这是一个匿名函数,每5秒运行一次。