如果这被问到,我在我的生命中找不到它!
问题:
我有一个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时,有什么办法可以阻止上述问题的发生?我愿意接受任何意见,即使它需要完全改写我的系统,所以要根据自己的意愿提出你的意见。
谢谢!
答案 0 :(得分:1)
追加到队列而不是替换div的全部内容。这样,链接就不会被删除并每2秒更换一次。此外,您应该使用settimeout。