【发布时间】:2020-07-20 20:51:34
【问题描述】:
我正在制作一个网络聊天应用程序,其中添加了一些很酷的功能,例如清除聊天按钮和所有...
但我正面临这个问题..
每当我附加超过 div 高度的更多消息时,它会显示滚动条,但不会向下滚动以向客户端显示新消息。
有人可以帮我解决这个问题吗?
这是它的 index.html 代码:(我无法发送 server.js 代码,因为它由 node.js 运行)
var socketio = io();
function update(list)
{
for(var i = 0; i < list.length; i++)
{
$("#users").append("" + list[i] + ", ");
}
}
// block
$("#login-form").submit(function(event){
event.preventDefault();
if($("#username").val() == "" || $("#username").val() == " ")
{
alert("Please enter a valid username.");
}
else
{
$username = $("#username").val();
$("#total").hide();
$("#chat-area").show();
$("#messages").html("");
socketio.emit("has connected", $username);
}
});
$("#message-form").submit(function(event){
event.preventDefault();
if($("#message").val() == "" || $("#message").val() == " ")
{
alert("Please enter a message.");
}
else
{
socketio.emit("new message", {username: $username, message: $("#message").val()});
$("#message").val("");
}
});
socketio.on("has connected", function(data) {
$("#users").html("");
update(data.usersList);
$("#messages").append("<li><i><b>"+ data.username +"</b> has connected</i></li>");
});
socketio.on("has disconnected", function(data) {
$("#users").html("");
update(data.usersList);
$("#messages").append("<li><i><b>"+ data.username +"</b> has disconnected</i></li>");
});
socketio.on("new message", function(data) {
if(data.username == $username)
{
$("#messages").append("<li><b>You</b>: " + data.message + "</li>");
}
else
{
$("#messages").append("<li><b>" + data.username + "</b>: " + data.message + "</li>");
}
});
当新消息附加到<div> 标记中的<ul> 时,有人可以对其进行编辑以使其自动滚动。注意:<ul> 的 id 是“messages”。
【问题讨论】:
-
请查看我的回答。
标签: javascript jquery html css chat