1

次のコードがあります。

function get_random_color() {
    return '#' + Math.floor((Math.random() * 0xF00000) + 0x0FFFFF).toString(16);
}

for (var i=0; i<5; i++)
  {
      $(".colors").append("<div style='background:"+get_random_color()+"'></div>");
  }

HTML

<div class="colors"></div>

CSS

.colors > div{width:30px; height:30px;}

しかし、「ランダム」世代は、ほぼ補色の組み合わせを作成するようです。

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

コードが完全にランダムではなく、色が常に一致しているように見えるのはなぜですか?

例:

http://jsfiddle.net/SaRT6/

4

2 に答える 2

1

それらが完全に一致したとは言えませんが、私はあなたのドリフトを理解しています!

これは数学と確率に帰着すると思います。私はその分野の専門家ではありませんが、考えてみると、3 つの範囲があり、たとえば黒で終わるには、それらの 3 つの乱数すべてが一致する必要があります。範囲の極端な端。ご想像のとおり、一致しない 3 つの数字が発生する可能性は低くなります。極限にある数値よりも、その範囲内にある数値を取得する可能性がはるかに高くなります。いくつかの一般的な色を見ると、それらの多くは、それらの数字の 1 つが 0 または 0 に近いか、あるいはもう 1 つの端が 255 であることに依存しています。どのグレーも同じです。

それで解決策は?あまり多くの色が必要ない場合は、さまざまな「素敵な」色の配列を作成し、ランダム インデックスを使用してその中から色を選択するだけです。

于 2013-09-10T15:14:51.260 に答える