我正在尝试创建一个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();
});
});
答案 0 :(得分:2)
你想使用setInterval()
代替setTimeout
,而setInterval
只触发一次,{{1}}会一直开火直到你清除它
答案 1 :(得分:2)
您可以尝试这样的事情:
window.setInterval(function(){
/// call your function here
}, 5000);
这是一个匿名函数,每5秒运行一次。