我在setIntervel()中有一个函数,我想明确地停止执行这个函数。我怎么做呢???函数是..
function autoLoad(chatboxtitle, msgId) {
setInterval(function() {
if (msgId != '') {
$.ajax({
type: "POST",
url: "../WebService1.asmx/GetMessagesDetail",
data: '{ "messageID": "' + msgId + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function(msg) {
$("#chatbox_" + chatboxtitle + ".chatboxcontent").empty();
$("#chatbox_" + chatboxtitle + ".chatboxcontent").append(msg.d);
$contentLoadTriggered = false;
},
error: function(x, e) {
alert("error");
}
});
}
}, 8000);
}
答案 0 :(得分:10)
如果您的意思是退出该功能但不停止间隔(因此该功能将再次触发),您只需要从该功能中return
。
如果您的意思是停止间隔,即停止再次触发该功能,则需要在变量中指定间隔的引用,然后在/根据需要清除它。
var intie = setInterval(function() { alert('hello'); }, 5000);
clearInterval(intie);