【发布时间】:2019-08-07 06:39:02
【问题描述】:
我正在尝试一个聊天应用程序的功能,其中包含已加入该聊天的用户列表。当特定用户断开连接/离开聊天时,特定用户的颜色应在列表中更改(即,如果 andy,rubin 是两个成员并且 rubin 离开他的名字应该用颜色反映,而 andy 的名字不应该改变颜色)。我的问题是,如果一个人离开,我会得到那种颜色来反映列表中的所有成员(即,如果他们中的任何一个离开,andy 和 rubin 都会改变颜色)
server.js
socket.on('disconnect',function(data){
console.log('user disconnected');
if(!socket.nickname)
return;
socket.broadcast.emit('userDisconnect',{nick:socket.nickname});
})
chat.js
socket.on('userDisconnect',function(data){
// var str = [];
// str.push(data.nick)
// for(var i= 0;i<data.length;i++){
// str = data.nick[i]
// }
// $users.text(data.nick).css("color","red") //disconnected user is only reflected on the list,rest of them vanish
$users.val(data.nick).css("color","red")
})
注意:我尝试了其他一些反映在代码注释部分中的东西
我希望只有一个特定的用户是列表应该在他离开时改变颜色,但实际值是当任何用户离开时所有的人都会得到颜色。
【问题讨论】:
标签: javascript jquery css socket.io