为每个会话分配随机颜色,用于聊天

rof*_*fle 0 javascript css php ajax jquery

我有一个我正在研究的AJAX聊天系统,到目前为止我已经开始工作了.我想做的一件事就是拥有它,所以当用户名显示在屏幕上时,它是一种独特的颜色(就像在AIM窗口中一样).如何生成随机颜色以分配给他们登录的特定会话的用户名?

颜色必须是在白色背景上更暗的颜色,并且当它们生成时,它们不能与其他当前用户分配的颜色太相似.

编辑谢谢,我想预定义的列表将是最简单的方法.如果我在配置文件中有此列表并在用户登录时指定颜色,那么我该如何确保没有两个登录用户具有相同的颜色?

Chr*_*rch 7

我认为你最好随机选择符合你要求的预生成颜色列表(足够深,彼此不同),而不是试图在运行中生成颜色.

编辑添加:

至于让不止一个用户拥有相同的颜色,我见过系统做的一件事就是使用Javascript在用户机器上本地分配颜色.通常,不同的用户看到其他人的相同颜色并不重要.我不关心屏幕上的颜色是否与其他用户屏幕上的颜色相同,只要屏幕上的所有颜色都是唯一的.实际上,每个用户自己的文本可能是不同的(例如,它们是黑色的,其他人的颜色都是彩色的).