我正在研究这种问题/答案类型的聊天框,并发现了许多与自动滚动到 div 底部相关的问题/解决方案。据我了解,这里的这行代码就是这样做的。
var scrollingChat = document.querySelector('#chat')
scrollingChat.scrollTop = scrollingChat.scrollHeight
但是,由于问题可能有多个答案,它们可能比可视屏幕显示的更长。使用上面的代码,它会自动向下滚动到聊天框的底部。我想要的是滚动以保持在当前位置,并且由用户向下滚动以查看显示的其他答案,特别是因为第一个答案应该是最相关的。
有可能这样做吗?我试图评论那些代码行,但它没有做任何事情。非常感谢任何有关我如何做到这一点的帮助或建议。
更新 - 也许我可以在这里更好地解释。在我的聊天框中,我有这些动态 div 元素:
<div>... something... </div>
<div class="from-user" id="questionDiv_1"</div>
<div class="from-system" id="answerDiv_1_0"</div>
<div class="from-system" id="answerDiv_1_1"</div>
<div class="from-system" id="answerDiv_1_2"</div>
</div>
所以在这种情况下,只要用户输入问题,后端系统就会有多个答案。我可以让滚动条停留在 questionDiv_1 元素上而不是自动向下滚动到我的聊天 div 的底部吗?我怎么做?