javascript - 为每个用户分配一种颜色

标签 javascript jquery json chat

我当前正在创建一个网络聊天,每当聊天框中显示消息时,都会显示发送消息的用户并用颜色进行标识。对于每个用户,我创建一个类并使用上述函数为颜色样式分配一个值。

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 + '&nbsp&nbsp<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/

相关文章:

javascript - onclick页面去主页没有任何绝对路径

javascript - AngularJS:如何更新复选框选择/取消选择上 $scope 关联数组的键?

php - cPanel JSON API2 editzone记录问题

javascript - 从图像元素动态创建 Canvas 元素

javascript - 在 React JS 中单击子 "delete"按钮时如何删除父表行?

javascript - Angular JS, Protractor 定位器,获取元素的直接子元素

asp.net - 从 ASP.NET 内容页面调用 onresize

jquery - 使用 jQuery 读取 RSS 提要

javascript - 多级 Accordion 菜单 : Its possible to open each level with an anchor?

javascript - 使用 Javascript 获取 PHP 数据并将其分配给数组