» »

[JavaScript] Tabela barv

[JavaScript] Tabela barv

abyssus ::

Imam tabelo, velikost 1x16 (1 vrstica, 16 stolpcev). S pomočjo JavaScripta, bi rad vsaki celici tabele dodal backgroundColor in sicer tako: prvi #000000, drugi #111111 in tako dalje. Poskusil sem tako, da se sprehodim skozi vse elemente tabele in vsaki posebej ustvarim backgroundColor:

celica.style.backgroundColor = setBarvaBarvnaTabela(i);

i je tukaj indeks celice. No in potem imam še funkcijo setBarvaBarvnaTabela(i):

function setBarvaBarvnaTabela(vrednost) {
var barvna_vrednost = "#":

for(i = 0; i < 16; i++) {
barvna_vrednost += vrednost.toString(16); // pretvorim v hex
}

return barvna_vrednost;
}

Ne vem zakaj, ampak ta script podere brskalnik oziroma mi brskalnik nabije veliko zasedenost pomnilnika in ga moram zapreti preko task managerja. Sem začetnik v tem in nimam pojma, zakaj tega ne dela tako kot si jaz zamislim, pač da bi sestavo string z #AAAAAA in podobno. Imam namreč na isti način nareto že funkcijo za izbor barve pa deluje, tukaj pa noče. V čem je finta?

Prosim za pomoč.

Mipe ::

Po nepotrebnem kompliciraš. Niti funkcije ne rabiš:

celica.style.backgroundColor = "#"+i+i+i+i+i+i;

technolog ::

edit: Spregledal #

Zgodovina sprememb…

abyssus ::

@Mipe, ja, do devet dela :) Kaj pa dalje? 10 je A šestnajstiško, torej rabim #AAAAAA.

jype ::

Pozor, huda koda!

abyssus, to se običajno dela z uporabo jquery knjižnice, kjer je praktično trivialno.

abyssus ::

Show me please.

technolog ::

CSS podpira format podajanja barve kot rgb(R,G,B):

for(var i=0; i<255; i++)
     celica.style.backgroundColor = 'rgb('+i+','+i+','+i+')';

Mipe ::

abyssus je izjavil:

@Mipe, ja, do devet dela :) Kaj pa dalje? 10 je A šestnajstiško, torej rabim #AAAAAA.

Sem spregledal. V tem primeru najprej daš i = i.toString(16), kar prevede število v šestnajstiško.

abyssus ::

Nova težava: z izbrano barvo moram "fillat" vsako celico tabele (celico kliknem in pobarvam). Dela vse ok. Zraven iam select list, kjer izbiram velikost tabele: 10x10, 11x11 in tako dalje. Ko spremenim velikost, ne morem več barvat celic. Barva se izbere, celice pa se na klik ne pobarvajo. V čem je finta?

Barvanje celic imam rešeno z jQuery-jem:
$("#moja_tabela td").click(function() {
		$izbrani = $(this);
		$izbrani.css("background", barva);
	});


Prav tako bi rad, da ko izberem poljuben element v tabeli barv, da se meja le-tega spremeni v rdečo barvo. Zato imam class:
.izbrani { border: "1px solid red";};

Prav tako z jQueryom izberem barvo ter izbranemu elementu hočem dodati class, vendar ne gre:
	$("#paleta td").click(function() {
		barva = $(this).css("background-color");
		$(this).addClass("izbrani");
	});


I need help. :(

Zgodovina sprememb…

  • spremenilo: abyssus ()

bigbada ::

@Abyssus kako si potem rešil tole tabelo z barvami? A lahko malo več poveš in deliš malce kode, ker mi nikakor ne uspe.

abyssus ::

V bistvu sem naredil tako, kot mi je predlagal Mipe, saj se mi je pri vsem drugem podiral brskalnik. Torej celica.style.backgroundColor = i.toString(16) + i.toString(16)... 6x tak. Bom poskusil to kodo naredit manj "kmečko" ampak zaenkrat imam tak.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
!

Vse, kar ste si želeli vprašati o CSS, pa si niste upali. (strani: 1 2 3 423 24 25 26 )

Oddelek: Izdelava spletišč
1298341547 (684) sunniegoldie
»

Jquery

Oddelek: Izdelava spletišč
151727 (1451) mk818764
»

javascript jquey slidshow + dodatek (kako?)

Oddelek: Izdelava spletišč
6786 (723) frudi
»

Javascript problemcek

Oddelek: Programiranje
141561 (1354) tempoFlow
»

image/png .......(prikaz!!)?

Oddelek: Izdelava spletišč
181129 (1020) Ziga Dolhar

Več podobnih tem