javascript - 如何在 JavaScript 中始终保持向下滚动?
问题描述
我有一个 div 我想总是向下滚动。
scrollDown(){
var chatt = this.conversa;
this.conversa.scrollTop = chatt.scrollHeight;
}
verificKeyPress(e){
if (e.key == "Enter") {
this.scrollDown();
...
}
}
<div id="scroll" ref={(conversa) => this.conversa = conversa} style={{display: "block",overflowY: "auto", overflowX: "hidden", position: "absolute", ...}}>
...
</div>
在此链接中是一个显示错误的 giphy。注意输入的序列和出现的位置:https ://media.giphy.com/media/LUeVZl33p6WlQrVmq9/giphy.gif 。谢谢!
注意:在函数 verifyKeyPress 中发送消息还有更多工作要做,但我没有放它,因为它很广泛
我明白了,问题是这个函数(this.scrollDown)应该在另一个函数的回调中,我这里没有展示,对不起,很难有人帮助我,我没有什么经验,但无论如何谢谢你。
解决方案
我不清楚你想做什么。您是否希望程序在您每次按 Enter 时“向下翻页”一屏?或者你想进入整个页面的底部吗?
在第一种情况下,您必须对 scrollTop 使用 "view height" * "pageNum" 以允许每次点击返回时移动一个完整的视图。这会很棘手,因为很难让它正好位于顶部项目的中心。
在第二种情况下,我相信滚动高度需要设置为“页面高度”-“视图高度”。这些是“通用”值,不记得这些临时的精确 JS/CSS var 名称,但应该很容易查找
如果您想澄清所需的行为是什么,我很乐意深入了解一下
推荐阅读
- spring - 使用 Spring+websocket+stomp 时如何添加自定义 headers
- android - 在android上运行一个react native项目
- javascript - 由于处理 touchstart 和 touchend 事件,任何链接上的单击事件丢失 - jQuery
- php - 从 php 中的 json 响应中获取值
- android - 如果在 Android 的 Kotlin 中不可点击,则“阻止”按钮的按下状态
- c++ - 我的代码的内联函数不存储字符串字符串值
- c++ - 动态使用预处理器 DATE
- python - Gunicorn 工人无法启动
- sql - PostgreSQL:计算列高于某个值的行的百分比
- python - Python 错误:InsertError:replace() 参数 2 必须是 str,而不是 None