gpt4 book ai didi

HTML 元素不会停留在底部

转载 作者:太空宇宙 更新时间:2023-11-04 02:31:20 25 4
gpt4 key购买 nike

所以我有一个聊天 UI,它是一个消息框,消息框的底部是一个文本输入元素。它在开始时工作正常,但是一旦出现足够多的消息,文本输入元素就会随着消息向上滚动,并且不会停留在底部。我怎样才能做到这一点?任何有用的想法将不胜感激。

<html>
<body>
<div id="chatui">
<div id="chatmsgs"></div>
<input type="text" id="chatbox">
</div>
</body>
</html>

这是我的 CSS:

#chatui {
z-index:3;
position:absolute;
bottom:5px;
width: 380px;
height: 150px;
border: 3px solid #8AC007;
margin-left:5px;
overflow:auto;
}
#chatbox {bottom:3px;position:absolute;width:378px;}
#chatmsgs {position:absolute;}

这是我的 Javascript:

这只是说当您在键盘上按“Enter”以显示您输入到“chatmsgs”div 中的文本时。

$(window).keydown(function(e){
if (e.keyCode == 13) {
if (document.activeElement.id == 'chatbox') {
var msg = document.getElementById('chatbox').value;
document.getElementById('chatbox').value = '';
var ms = '<p>'+msg+'</p>';
$('#chatmsgs').append(ms);
}
}
});

看看这个 fiddle ,看看我在说什么: https://jsfiddle.net/ev3uymw6/

最佳答案

你必须添加 overflow:auto 和适当的 heightchatmsgs div,这样它就不会增长超过chatui 并让它一起滚动。

$(window).keydown(function(e) {
if (e.keyCode == 13) {
if (document.activeElement.id == 'chatbox') {
var msg = document.getElementById('chatbox').value;
document.getElementById('chatbox').value = '';
var ms = '<p>' + msg + '</p>';
$('#chatmsgs').append(ms);
}
}
});
#chatui {
z-index: 3;
position: absolute;
bottom: 5px;
width: 380px;
height: 150px;
border: 3px solid #8AC007;
margin-left: 5px;
}
#chatbox {
bottom: 3px;
position: absolute;
width: 378px;
}
#chatmsgs {
position: absolute;
height: 130px;
overflow: auto;
width: 378px
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<body>
<div id="chatui">
<div id="chatmsgs">
</div>
<input type="text" id="chatbox">
</div>
</body>

关于HTML 元素不会停留在底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36459734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com