javascript - 如何为聊天应用程序设置自动滚动

标签 javascript jquery html chat

我正在制作一个聊天网络应用程序,除了实现登录系统之外,我已经完成了大部分工作,但有一个问题我似乎找不到答案。这并不是很复杂。

我需要知道如何做到这一点:

  1. 网站加载时聊天将滚动到底部
  2. 聊天会自动滚动到新消息,但前提是用户位于页面底部。

这可能不太难做到,但我什至不知道如何使用 javascript 滚动,所以谢谢。
当前站点位于此网址:Chat url

最佳答案

收到新消息或页面重新加载后,您可以使用:

window.scrollTo(0,document.body.scrollHeight);
<小时/>

页面加载:

window.onload = function() {
  window.scrollTo(0,document.body.scrollHeight);
};
<小时/>

要在收到新消息后滚动,您可以将函数 update_message 修改为:

function update_message(id,author,body,selfSent){
    var message = document.getElementById(id);
    if(selfSent){
        message.classList.replace("messagebox-o","messagebox-s");
        author = "You";
    }else{
        message.classList.replace("messagebox-s","messagebox-o");
    }
    message.querySelector(".author-text").innerText = author;
    message.querySelector(".body-text").innerHTML = body;
    window.scrollTo(0,document.body.scrollHeight); // ADD THIS
}
<小时/>

关于javascript - 如何为聊天应用程序设置自动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58885343/

相关文章:

php - 后台刷新动态数据

javascript,循环字段和验证

javascript - 显示固定标题的背景

javascript - 隐藏/显示 jquery 中的选择框选项?

javascript - 每隔一段时间从目录加载图像

javascript - 根据js中的值对对象进行排序

javascript - 在JavaScript中,将csv转换为json时如何忽略空行

javascript - 如何通过指示高度使图像成为屏幕的整个宽度

html - Bootstrap 轮播数据幻灯片箭头位于幻灯片图像下方

javascript - ember js,当用户访问页面时,不断调用 Controller 中的init方法