0

我正在尝试创建一个 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();
    });

});
4

2 回答 2

3

你想使用setInterval()而不是setTimeout只触发一次,setInterval会一直触发直到你清除它

于 2013-11-04T21:24:01.947 回答
2

你可以尝试这样的事情:

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

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

于 2013-11-04T21:24:20.073 回答