我当前正在创建一个网络聊天,每当聊天框中显示消息时,都会显示发送消息的用户并用颜色进行标识。对于每个用户,我创建一个类并使用上述函数为颜色样式分配一个值。
newHTML = '';
$.each(data, function(index, element) {
$('.user_' + element.senderId).attr("style","color:" + randColor());
newHTML = newHTML + '<div id="boxMsg"><b><span class="user_' + element.senderId + '">'
+ element.senderId + '</b></span></br>' + element.message + '  <span class="dateMsg">' + dateTime.substring(11, 16) + '</span></div>';
});
$('#chatbox').append(newHTML);
},
JSON 协议(protocol)用于提取有关聊天中显示的消息的所有信息。但它仍然不起作用,所有用户名都是黑色的。你知道我做错了什么吗?
提前感谢您的回复!
编辑:感谢@Evan,我解决了第一部分和分配随机颜色的功能。但仍然只有聊天颜色的第一个和第三个成员发生了变化。其他的还是黑的。不管怎样,我留下了函数 randColor() 的代码。
function randColor(){
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
};
EDIT.2:我已经更正了该功能以更多地反射(reflect)我正在开发的功能。
最佳答案
for (var i = 0; i <= nUsers.length; i++ )
应该是
for (var i = 0; i < 6; i++ )
形成十六进制颜色。它应该始终是 6(或 3 对于短十六进制颜色)。
关于javascript - 为每个用户分配一种颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29014626/