Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为每个会话分配随机颜色,用于聊天_Php_Javascript_Jquery_Css_Ajax - Fatal编程技术网

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

Php 为每个会话分配随机颜色,用于聊天,php,javascript,jquery,css,ajax,Php,Javascript,Jquery,Css,Ajax,我正在开发一个AJAX聊天系统,到目前为止我已经可以使用了。我想做的一件事是,当用户名显示在屏幕上时,它是一种独特的颜色(就像在AIM窗口中)。我如何为用户登录的特定会话生成随机颜色以分配给用户名 颜色必须是在白色背景上较暗的颜色,并且在生成时,它们不能与其他当前用户分配的颜色太相似 编辑谢谢,我想预定义列表是最简单的方法。如果我在配置文件中有这个列表,并且在用户登录时分配了一种颜色,那么我应该如何确保没有两个登录的用户具有相同的颜色?我认为最好是从满足您要求的预生成颜色列表中随机挑选颜色(足够

我正在开发一个AJAX聊天系统,到目前为止我已经可以使用了。我想做的一件事是,当用户名显示在屏幕上时,它是一种独特的颜色(就像在AIM窗口中)。我如何为用户登录的特定会话生成随机颜色以分配给用户名

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


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

我认为最好是从满足您要求的预生成颜色列表中随机挑选颜色(足够暗,彼此之间差异足够大)而不是尝试在运行中生成颜色

编辑以添加:


就防止多个用户使用相同的颜色而言,我所看到的系统所做的一件事就是使用Javascript在用户机器上本地分配颜色。通常,不同的用户看到其他人的相同颜色并不重要。我不在乎我屏幕上的颜色是否与其他用户屏幕上的颜色相同,只要我屏幕上的所有颜色都是唯一的。事实上,每个用户自己的文本都应该是不同的(例如,他们的文本是黑色的,其他人的文本都是彩色的)。

创建一个足够暗且易于区分的颜色列表(手动),然后随机选择一种。

如果你想让颜色相互对比,并处于白色的黑暗面上,你就不想对颜色太随意


最好预先定义一组颜色,并从一个随机的起始位置开始循环,这样在分配完整组颜色之前不会重复任何颜色。

比您的答案晚30秒!一个很好的起点可能是gmail中的标签颜色——它们很容易区分,并且设计为在浅色背景下工作。但是,这些颜色可能不够。下面是一个很好的web颜色列表,可供选择: