D unutar DHTML-a



Sada kada smo definirali blokove podataka i pozicionirali ih pomoču <DIV> i <STYLE> atributa možemo upotrijebiti JavaScript kako bi mijenjali svojstva tih blokova. Tako možemo npr. cijeli blok podataka koji može sadržavati proizvoljne Web elemente pomicati gore, dolje, ljevo, desno, mijenjati pozadinu, prikazivati samo neke djelove bloka, razne show/hide opcije , ili čak prikazivanje ili skrivanje cijelih blokova u određenom trenutku, što morate priznati unosi dozu dinamike u vaše stranice.

Sada se nameče pitanje kako pomoču JavaScripta možemo modificirati te parametre ?

Dakle, imamo dva pristupa:

Pogledajmo naš gore navedeni primjer sa mailblock <DIV> blokom. Na žalost buduči da IE i NN ne djele kompatibilni DOM taj objekt je drugačije predstavljan u ova dva pretraživača. U Netscapu <DIV&gT blok je predstavjen kao layer objekt, tj. pretraživač ga smatra kao jedan novi sloj, dok IE smatra <DIV> objekt kao takav, sa drugim <STYLE> objektom unutar sebe čijim parametrima možemo pristupati i mijenjati njihova svojstva. Objektu pristupamo u oba slučaja preko njegovog ID-a,ali na drugačiji način:

IE : document.all.mailblock
NN: document.layers["mailblock"]

Ako sada pogledamo parametar background- color: unutar mailblock bloka, kao svojstvo CSS-a, onda sa strane DOM-a tome parametru pristupamo na diva različita načina, i možemu im mijenjati vrijednosti:

IE : document.all.mailblock.style.backgroundColor="green";
NN : document.layers["mailblock"].bgColor="green";

Na sličan način možemo modificirati i ostale parametre: top , left, width, height, ali naravno moramo znati što želimo postiči. Što se tiče Microsofta i Netscapa mislim da je problem jasan, i preporuča se proučiti njihove specifikacije, a u međuvremenu se samo možemo nadati nekoj vrsti kompromisa.