如何在javascript中每5秒运行一次函数
我试图创建一个javascript,如果我点击div1,我需要load_data1()函数每5秒刷新一次。如果用户单击div2或div3,我需要load_data1()函数停止。如下面的代码所示,当我单击div1时,load_data1()函数在5秒后运行并停止,之后它不会运行,您知道我在这里可能缺少什么吗如何在javascript中每5秒运行一次函数,javascript,jquery,Javascript,Jquery,我试图创建一个javascript,如果我点击div1,我需要load_data1()函数每5秒刷新一次。如果用户单击div2或div3,我需要load_data1()函数停止。如下面的代码所示,当我单击div1时,load_data1()函数在5秒后运行并停止,之后它不会运行,您知道我在这里可能缺少什么吗 $(document).ready(function(){ $.ajaxSetup({ cache: false }); var timeout; function t
$(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();
});
});
您想使用
setInterval()
而不是只触发一次的setTimeout
,setInterval
将一直触发,直到您清除它您想使用setInterval()
而不是只触发一次的setTimeout
,setInterval
将一直触发,直到您清除它您可以尝试以下方法:
window.setInterval(function(){
/// call your function here
}, 5000);
这是一个匿名函数,每5秒运行一次。您可以尝试以下操作:
window.setInterval(function(){
/// call your function here
}, 5000);
这是一个匿名函数,将每5秒运行一次。检查差异b/w设置间隔和设置超时。也不要在这些函数上使用字符串表达式,而是使用函数引用。为了将来的引用,看在上帝的份上,请先用谷歌搜索。简单搜索一下
如何在javascript中每5秒运行一个函数
就可以解决你的问题。如果你只是在谷歌上搜索你的标题,你的答案就会出现在第一个结果中…@PSL,我对javascript不是很熟悉,你能详细说明一下吗?我可以用setInterval替换setTimeout,它起作用了。谢谢大家。请查看差异b/w设置间隔和设置超时。也不要在这些函数上使用字符串表达式,而是使用函数引用。为了将来的引用,看在上帝的份上,请先用谷歌搜索。简单搜索一下如何在javascript中每5秒运行一个函数
就可以解决你的问题。如果你只是在谷歌上搜索你的标题,你的答案就会出现在第一个结果中…@PSL,我对javascript不是很熟悉,你能详细说明一下吗?我可以用setInterval替换setTimeout,它起作用了。谢谢大家。我遵循了你们的建议,它正在发挥作用,但我确实有一个顾虑。如果setInterval值为60000ms,当我单击选项卡时,它将等待60000ms加载页面。我真的需要页面加载时,点击标签,然后立即刷新每60000ms。你知道我该怎么做吗?在setInterval之前先调用你的函数。从timeout_init函数中的示例中,可以执行load_data2();设置间隔(加载数据2,6000);我遵循了你的建议,它正在发挥作用,但我确实有一个顾虑。如果setInterval值为60000ms,当我单击选项卡时,它将等待60000ms加载页面。我真的需要页面加载时,点击标签,然后立即刷新每60000ms。你知道我该怎么做吗?在setInterval之前先调用你的函数。从timeout_init函数中的示例中,可以执行load_data2();设置间隔(加载数据2,6000);