1

我在 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);
}
4

1 回答 1

10

如果您的意思是退出函数但不停止间隔(因此函数将再次触发),您需要简单地return从函数中。

如果您的意思是停止间隔,即停止函数再次触发,您需要在变量中分配对间隔的引用,然后在需要时/根据需要清除它。

var intie = setInterval(function() { alert('hello'); }, 5000);
clearInterval(intie);
于 2012-07-11T13:49:32.543 回答