【发布时间】:2013-11-15 15:23:20
【问题描述】:
我正在尝试创建一个 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();
});
});
【问题讨论】:
-
查看 diff b/w setInterval 和 setTimeout。也不要在这些上使用字符串表达式,而是使用函数引用。
-
为了将来参考,看在上帝的份上请先谷歌。简单搜索
how do you run a function every 5 seconds in javascript就能解决您的问题。 -
如果你只是用谷歌搜索你的标题,你的答案会在第一个结果中......
-
@PSL,我对javascript不是很熟悉,能详细点吗?
-
我能够用 setInterval 替换 setTimeout,它起作用了。谢谢大家。
标签: javascript jquery