通过重载,SetInterval消息框更新崩溃页面

时间:2018-11-04 17:01:41

标签: javascript ajax setinterval

嗨,我有一个消息框,用户可以放置消息,我使用ajax更新消息,并使用setinterval每20秒自动更新一次消息。但是,我使用的代码使间隔调用使页面超载。从下面的代码中,任何人都可以看到我在哪里出错了,以及我将如何对其进行修正,这样间隔就在一个循环中。谢谢

$(function(){


$(document).keypress(function() {
        clearInterval(running); 
    })

        var running = setInterval(function (){ 
        var varLISTID = document.getElementById('datacatch').getAttribute("data-variable-LISTID");  
        var varUSERACCOUNTNAME = document.getElementById('datacatch').getAttribute("data-variable-USERACCOUNTNAME");
        var mylink = "loadmessages.php?listID=" + varLISTID + "&useraccountname="+ varUSERACCOUNTNAME;
        $('#infobox1').load(mylink);
           },20000); //10s
});

2 个答案:

答案 0 :(得分:0)

改为使用$(document).keydown(function() {...})。如官方文档here所述,.keypress可能有问题。

答案 1 :(得分:-1)

$(function(){



                var running = setTimeout(function (){ 
                alert('up');
                var varLISTID = document.getElementById('datacatch').getAttribute("data-variable-LISTID");  
                var varUSERACCOUNTNAME = document.getElementById('datacatch').getAttribute("data-variable-USERACCOUNTNAME");
                var mylink = "loadmessages.php?listID=" + varLISTID + "&useraccountname="+ varUSERACCOUNTNAME;
                $('#infobox1').load(mylink);
                   },20000);//10s


        $(document).keypress(function() {
                clearInterval(running); 
            })


    });

SetTimeout代替setInterval已解决了该问题。

谢谢。