jQuery AJAX setinterval有时无法点击

时间:2015-06-12 17:45:30

标签: javascript jquery html ajax html5

如果这被问到,我在我的生命中找不到它!

问题: 我有一个div使用setInterval每1-2秒更新一次。用户基本上可以提交一个问题(存储在mysql数据库中),并且正在更新的div是管理员的队列,因此他们可以快速打开与提交问题的人聊天会话。

    sosInterval = setInterval(function () {
        randomTime = new Date().valueOf();
        $("#sosContainer").load("sos.php?action=requestSOS&_=" + randomTime);
    }, 1500);

填充到div的项目是可点击的,因此当管理员点击队列中的用户名称时,它会打开与用户的聊天会话并将其从队列中删除。我的问题是,当管理员点击名称时,有时候它没有做任何事情,我认为这是因为他们碰巧在它试图再次更新div的确切时刻点击它,因为它可以点击它它再次。

问题: 所以我的问题是,当你使用setInterval几乎实时地更新包含信息的div时,有什么办法可以阻止上述问题的发生?我愿意接受任何意见,即使它需要完全改写我的系统,所以要根据自己的意愿提出你的意见。

谢谢!

1 个答案:

答案 0 :(得分:1)

追加到队列而不是替换div的全部内容。这样,链接就不会被删除并每2秒更换一次。此外,您应该使用settimeout。

原因(https://stackoverflow.com/a/729943/5003581