当前位置: 首页 > 知识库问答 >
问题:

javascript - react聊天室,列表加载数据滚动条还在顶部?

桑璞
2023-04-27

最近写了一个React聊天室,发现有个问题,当我滚动条滚动到顶部的时候请求接口加载了数据之后,按理说滚动条应该在当前位置,但是我的是一直在最顶部,如何解决?
image.png

共有2个答案

韩飞翮
2023-04-27

你是向上滚动到顶部,想要加载历史消息吗?然后把新请求的数据放到消息列表数据顶部.

也许你可以尝试通过计算重新定位滚动条.比如请求前高度为80,请求后为100,计算它们的比例(80/100=0.8,100*0.8),然后定位滚动条到新的位置

夏景同
2023-04-27

解决了,父节点加上这行代码即可解决!

overflow-anchor: none;

参考1
CSS: overflow-anchor 固定滚动到底部,随着页面内容增多滚动条自己滚动展示最新的内容

 类似资料:
  • 本文向大家介绍JavaScript仿聊天室聊天记录,包括了JavaScript仿聊天室聊天记录的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js仿聊天室聊天记录的具体代码,供大家参考,具体内容如下 参考样式(css自定义聊天窗口样式):http://xiazai.jb51.net/201612/yuanma/css3chatstyle(jb51.net).rar 功能描述: 1.

  • 本示例通过两种形式展示了如何实现一个在线聊天室应用: 使用长轮询模式。 使用 WebSocket 模式。 以上两种模式均默认将数据存储在内存中,因此每次启动都会被重置。但您也可以通过修改 conf/app.conf 中的设置来启用数据库。 以下为项目组织大纲: WebIM/ WebIM.go # main 包的文件 conf app.conf

  • 问题内容: 我有麻烦在HTML5中,我有10000行,以显示我在使用PHP的值,我填充从MySQL,由于某种原因,我看不到任何滚动条,我试图设置和,但没有帮助。请帮我! 问题答案: 不幸的是,使用datalist属性并不能做很多事情。数据列表当前不支持任何CSS样式,并且特定的视觉特征是特定于浏览器的。某些浏览器可能选择为长列表添加滚动条。 如果这是不可接受的,则可能必须忘记数据列表,并通过Jav

  • 代码如下html结构 js代码 /applet/user/massage/getChatDataOld/179/0 vue聊天框向上滚动加载更多, res[0].id 数组第一条id, this.form.page是默认是0,后台说向上滚动条加载要拿数组的第一个id放到接口上,全部加载出来,现在上面的逻辑上这样是有问题的,往上滚动了会加载一些,往下滚动了下面的数据不见了,不是 我想要的,我想要的全

  • 上一节我们用ws模块创建了一个WebSocket应用。但是它只能简单地响应ECHO: xxx消息,还属于Hello, world级别的应用。 要创建真正的WebSocket应用,首先,得有一个基于MVC的Web应用,也就是我们在前面用koa2和Nunjucks创建的Web,在此基础上,把WebSocket添加进来,才算完整。 因此,本节的目标是基于WebSocket创建一个在线聊天室。 首先,我们

  • js部分 vue聊天框向上滚动加载更多,比如this.form.page是10条信息,滚动到这里有个查看更多信息的字眼,再向上滚动加载数据,getChatDataOld这个是加载接口,或者点击查看更多信息向上滚动加载,这样的功能怎么实现呢