我有这个jquery代码:
$('#fr_tab').click(function() {
$("#tab2").empty().html('<img src="images/loading.gif" />');
var handle = setInterval(function () {
$('#tab2').load('fr_quests.php');
}, 3000);
});
$('body').click(function() {
if (handle) {
clearInterval(handle);
handle = 0;
}
});
我想知道如何在点击#fr_tab时设置Ineterval,以及如果单击文档中的任何位置我将如何清除它。
答案 0 :(得分:1)
您的handle
变量是第一个function
的本地变量。删除var
前缀使其全局化是使其工作的最快方式,尽管绝对不是最好的。
或者,要不使用全局变量,那么,如果代码在$(document).ready(...)函数中,那么
$(document).ready(function () {
var handle
$('#fr_tab').click(function() {
$("#tab2").empty().html('<img src="images/loading.gif" />');
handle = setInterval(function () {
$('#tab2').load('fr_quests.php');
}, 3000);
});
$('body').click(function() {
if (handle) {
clearInterval(handle);
handle = 0;
}
});
});
答案 1 :(得分:0)
您需要在$(document).not('#tab2').click(...