Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   как сделать случайный цвет (https://javascript.ru/forum/dom-window/8024-kak-sdelat-sluchajjnyjj-cvet.html)

KOLANICH 03.03.2010 17:17

как сделать случайный цвет
 
есть три числа в пределах от нуля до 255
пусть это - компонеты ргб
надо сгенерировать цвет и присвоить его эл-ту интерфейса

Kolyaj 03.03.2010 17:48

alert('#' + 25..toString(16) + 130..toString(16) + 210..toString(16));

KOLANICH 03.03.2010 18:18

Ошибка: XML descendants internal method called on incompatible Number

Kolyaj 03.03.2010 18:22

KOLANICH,
я нажимаю кнопку "Запустить" и вижу код цвета. Что запускаете вы, я не знаю.

KOLANICH 03.03.2010 18:24

function cc(){
	var r=Math.floor(Math.random() * (256));
	var g=Math.floor(Math.random() * (256));
	var b=Math.floor(Math.random() * (256));
	var c='#' + r..toString(16) + g..toString(16) + b..toString(16);
	m.style.borderColor=c;
	
}

vk65535 03.03.2010 18:26

Kolyaj,
Случайный цвет как-то подозрительно всегда один и тот же.

B~Vladi 03.03.2010 18:31

Цитата:

Сообщение от vk65535
Случайный цвет как-то подозрительно всегда один и тот же.

Если не хватает мозгов прикрутить функцию рандома числа - тебе в раздел работа.

Kolyaj 03.03.2010 18:33

vk65535,
Цитата:

Сообщение от KOLANICH
есть три числа в пределах от нуля до 255


KOLANICH,
две точки нужны только для чисел. Для переменных нужна одна.

B~Vladi 03.03.2010 18:35

~~
Это что вообще такое?:blink:

e1f 03.03.2010 18:37

B~Vladi, всего-навсего дважды примененное побитовое отрицание :) Рядом где-то тема была.

vk65535 03.03.2010 18:37

Kolyaj,
Сорь, про случайные это мне и вправду приснилось ) пост#5 сбил с толку.

B~Vladi,
no comments.

KOLANICH 03.03.2010 18:40

спасибо, запахало
а можно ли сделать, чтобы связать с классом
b xnj,s ghb yfpyfxtybb rkfccf fdnjvfnjv cnfdbkfcm ckexfqyfz cvtyf wdtnf

B~Vladi 03.03.2010 18:47

Цитата:

Сообщение от vk65535
B~Vladi,
no comments.

Аха, перепутал:-?

vk65535 03.03.2010 18:56

Кстать может возникнуть ошибка.
alert('#' + 1..toString(16) + 42..toString(16) + 42..toString(16))


Мой вариант:
alert('#' + ((Math.random() * 0x1000000) | 0x1000000).toString(16).substr(1))

B@rmaley.e><e 03.03.2010 19:38

alert('#' + ((Math.random() * 0x1000000) | 0).toString(16))

vk65535 03.03.2010 19:53

B@rmaley.e><e,
Я ж говорю, может быть ошибка - в данном случае, если число меньше 0x100000, получим, например, #abcde. А нужно #0abcde :)

B@rmaley.e><e 03.03.2010 20:00

Точно. Недодумал.

micscr 03.03.2010 22:15

Не могу удержаться от своего варианта также:
var c='rgb(' + r + ',' + g + ',' + b + ')';
obj.style.color = c;


:)

KonstantinK 06.03.2010 20:43

Я вообще не большой специалист но когда то писал вот такую функцию
function RandColor()
{
col = Math.round(255.0*Math.random());
r = col.toString(16);
col = Math.round(255.0*Math.random());
g=col.toString(16);
col = Math.round(255.0*Math.random());
d=col.toString(16);
col=r+g+d;
return col;
}

работает нормально.

Павел Зарубин 05.08.2016 12:29

function randomColor(){
var redColor = Math.floor(Math.random()*100) ;
var blueColor = Math.floor(Math.random()*100);
var yellowColor = Math.floor(Math.random()*100);
if(redColor < 256 && blueColor < 256 && yellowColor < 256){
redColor = redColor.toString(16).length <= 1 ? '0' + redColor.toString(16) : redColor.toString(16);
blueColor = blueColor.toString(16).length <= 1 ? '0' + blueColor.toString(16) : blueColor.toString(16);
yellowColor = yellowColor.toString(16).length <= 1 ? '0' + yellowColor.toString(16) : yellowColor.toString(16);
return "#" + redColor + blueColor + yellowColor;
} else randomColor();
}

warren buffet 05.08.2016 21:15

Эксгумация прошла успешно.


Часовой пояс GMT +3, время: 03:25.