[JS] Pobieranie koloru tła


(Uzi123) #1

Hej. Chciałem napisać w JS prostą funkcję która pokoloruje mi dowolną tabele (ustawi odpowiedni kolor tła). Chciałem aby wiersze (poziome) miały na przemian dwa kolory, a niektóre komórki będą ciemniejsze od innych w wierszu. W tym celu chciałem najpierw wykonać kolorowanie "wierszami" a następnie przyciemnianie komórek. Według mnie w tym celu najłatwiej było by pobrać kolor wiersza i jakoś go przerobić (na to już mam napisaną funkcję). Problem w tym, że nie potrafię pobrać koloru wiersza. Poniżej jest kod funkcji.

function changeColors() { 

var Rows = document.getElementById('kal').getElementsByTagName('tr'); 

var Colors = Array('#FFDD75', '#FFECB3'); // tu podajesz kolory tła 

var k = Colors.length; // dzięki temu kolorów może być więcej niż 2 

var n = Rows.length; // liczba obiegów pętli 


Rows[0].style.background = '#FFCD38'; 

for (i=1; i

var Columns = document.getElementById('kal').getElementsByTagName('td');

n=Columns.length;


for (i=0; i
var kolor = Columns[i].style.getPropertyCSSValue("background-color").getRGBColorValue(); //Error: background-color jest pusty

var kolor = Columns[i].style.getPropertyCSSValue("background").getRGBColorValue(); //Error: background jest pusty

var kolor = document.defaultView.getComputedStyle(aCol[i], null).getPropertyValue("background-color"); //nie dziala mozilla zwaraca transparent, chrome rgba(0,0,0,0)

var kolor = Columns[i].style.background // nie zwraca nic

}

(mario@) #2

Ja bym to zrobił mniej więcej tak:

table id="kolo" border="1" cellpadding="5px" cellspacing="0"tr    td1td    td2td    td3tdtd colspan=22td    trtr    td4td    td5td    td6tdtd2td    td3tdtrtr    td7td    td8td    td9tdtd2td    td3tdtrtr    td7td    td8td    td9tdtd2td    td3tdtrtr    td7td    td8td    td9tdtd2td    td3tdtrtable

(_chris_) #3

Witaj,

var Columns = document.getElementById('kal').getElementsByTagName('td');

ja bym to zrobił przez kolekcję cells:

var Columns = document.getElementById('kal').rows[0].cells;

wtedy byłoby pobieranie koloru tła poszczególnych komórek tabeli z rzędu 0. Więcej możesz zobaczyć tu: http://www.w3schools.com/js/js_examples_3.asp