Как да генерирам всеки път различен цвят


1
Как да генерирам всеки път различен цвят за backgrond ?



Отговори



3
Здравей, moni92,
Може да го направиш с малко javascript като използваш следния javascript :

function GetColorNumber() { return colorDecNumber = Math.floor(Math.random()*256); }
function Dec2Hex() { var colorDecNumber = GetColorNumber(); return colorHexNumber = colorDecNumber.toString(16) }
function GetColorHex() { colorHexNumber = Dec2Hex(); if(colorHexNumber.length == 1) { colorHexNumber = 0 + colorHexNumber } return colorHexNumber; }
function GetColorString() { var red = GetColorHex(); var green = GetColorHex(); var blue = GetColorHex(); var colorString = '#' + red + green + blue; return colorString; }
function BackgroundColor() { colorString=GetColorString(); document.bgColor =(colorString) ; }
като този код го запишеш в changeColor.js и в head часта добавиш на

от BZhelyazkov (0 точки)


0
Малко съм ти повторил отговора, но не съм разбрал, докато пишех. ;)

от Ivaylo.Angelov (1890 точки)

0
благодаря за бързия отгвор.. аз мислях че трябва да почакам поне до сутринта....както е в някой други форуми :)

от Moni92 (0 точки)


4

EDIT: Пример сходен с на колегата отгоре.

Има доста начини. Аз се сещам за един с JavaScript и ще се опитам да ти го опиша в няколко стъпки.

Можеш да имаш event върху body-то например, който при всяко зареждане на страницата, да вика някаква функция от скрипта.
Пример: <body onload="randomBgColor()"></body>
Самата функция прави следното:

function randomBgColor() {
var redColorValue = Math.floor((Math.random()*255));
var greenColorValue = Math.floor((Math.random()*255));
var blueColorValue = Math.floor((Math.random()*255));

За всяка от тези променливи ще имаш като стойност цяло число между 0 и 255. След това трябва да стилизираш елемента, който си решил(а).

Например искаш да сменяш фона на някакъв div с id="pesho"

Кодът ти нататък е:

var divToStylize = getElementById("pesho"); // това ще открие този елемент
divToStylize.style.background = "rgb(" + redColorValue + "," + greenColorValue + "," + blueColorValue + ")";

} // това е затварящата скоба на метода/функцията

Вече въпросната функция може да работи върху елементи с даден клас или с по-сложни селектори (за целта JavaScript не е особено подходящ - има по-лесни начини, ако използваш библиотеки като jQuery и т.н).
Но това е някакво начало, лесно се разбира и върши работа.

Дано да е бил в помощ примера. Поздрави! :)


от Ivaylo.Angelov (1890 точки)