将旧聊天信息准备到聊天框



当用户滚动到顶部时,我正试图将旧消息预先添加到聊天框中。正如代码所示,我使用的是eventListeners,但我遇到了一个错误,只有最后一个聊天框正常工作。bodies[index].sollTop和bodies[idex].sollHeight似乎总是返回0,但bodies[lastIndex]除外。为什么会这样?(logging bodies[index]正确返回div元素(

document.querySelectorAll('.popup-messages').forEach((item, index) =>
{   
item.addEventListener('scroll', async function()
{
if (chatReady[index] == true && bodies[index].scrollTop == 0)
{
chatReady[index] = false;
var previousHeight = bodies[index].scrollHeight;

await getMessages(item.id.replace(":body", ""));

var heightDiff = bodies[index].scrollHeight - previousHeight;
bodies[index].scrollTop += heightDiff;
}
})
})

编辑:如果有不同的方法可以动态生成多个eventListener,请与我分享,因为这会有很大帮助。

这个问题是通过将body[index]替换为item来解决的。当一个元素与多个变量关联时,可能会出现错误。

最新更新