大家要是不想看长篇大论,直接看下面的解决方案即可
解决方案:
每次更新日志的时候都进行dom.scrollTop = dom.scrollHeight赋值操作,来达到时刻展示最新更新日志内容的目标
目录
2、dom.scrollTop = dom.scrollHeight【先没用后有用,迷惑,但推荐】
一、需求阐述
接到一个关于日志展示的需求,要求较多。其中有一点是要求组件中展示的日志,每次更新时一直展示最新更新的内容位置。
至于为什么要有这个需求,是因为运维不想滚动鼠标滑轮。
二、遇到问题
查看日志的逻辑是,每1.5秒调用后端日志接口,让其将数据返回给前端,然后进行展示。
但是问题也随之而来。
第一个【节点日志】,当用户查看日志刚滑到最下面,下次装载就又从头开始展示(这个问题在展示节点日志的时候会出现,但在我之前写的全量日志就不会出现)。
第二个【全量日志】,这个虽然不会出现每次装载都回到最开始位置,但也不会直接展示日志最新内容。
三、前期准备
1、从组件入手
codeMirror是一款多功能文本编辑器,但它不同于其他的编辑器如:Braft Editor、UEditor等富文本编辑器,其定位是专门用于编辑代码。
这个组件是挺成熟的组件,所以我想着看有没有说已经封装好的属性让我用一下。于是就去官网看,看得朦朦胧胧,也没看出来什么头绪。在网上找了个讲得挺详细的组件介绍,大致看了一些options,但是没有找到解决问题的方法。
附上官网地址:https://codemirror.net/index.html
详细介绍地址:<

本文介绍了在使用codeMirror实时装载日志时,如何保持滚动条始终展示最新内容的问题。通过设置dom.scrollTop = dom.scrollHeight,解决了每次更新日志后滚动条回到顶部的问题。详细记录了解决过程及遇到的困惑。

7415

被折叠的 条评论
为什么被折叠?



