co nejjednodu╣eji
Lze °φci, ╛e DHTML je spojenφ JavaScriptu (JScriptu) a CSS v prohlφ╛eΦφch Internet Explorer verze 4 a 5:
Javascript + CSS + MS IE 4|5 = DHTML
JinΘ prohlφ╛eΦe DHTML nepodporujφ (b°ezen 2001), co╛ ale nevadφ, proto╛e skoro nikdo jinΘ prohlφ╛eΦe nepou╛φvß.
DynamickΘ HTML je protiklad ke statickΘmu HTML, kterΘ se jednou naΦetlo do strßnky a pak u╛ se s nφm nedalo nic d∞lat. A prßv∞ dynamickΘ HTML umo╛≥uje obsah strßnky m∞nit i po naΦtenφ. Klasicky jsou to r∙znΘ animace, zm∞ny barev, automatickΘ psanφ textu, zm∞ny textu, problikßvßnφ, vyskakovßnφ oken a podobnΘ vylomeniny. Pokud si °φkßte, ╛e to je to samΘ, co JavaSkripty, tak mßte pravdu. Microsoft k JavaScriptu dopsal pßr v∞cφ a nazval to JScript.
JScript = JavaScript pro Internet Explorer 4 a 5.
PryΦ s teoriφ. SkoΦme do vody a uΦme se plavat:
Chci, aby se po kliknutφ na tento text zm∞nila barva textu na Φervenou.
<p onclick="this.style.color = 'red'">text p°ebarven²
kliknutφm</p>
Po dvojkliku na tento odstavec se zm∞nφ barva pozadφ odstavce.
<p ondblclick="this.style.backgroundColor =
'yellow'">zm∞na pozadφ dvojklikem</p>
Po p°ejetφ tohoto slova se to slovo ztuΦnφ.
<span onmouseover="this.style.fontWeight=
'bold'">slovo</span> ztuΦn∞lΘ p°ejetφm
Pokud zde tyto efekty nefungujφ, nemßte prohlφ╛eΦ podporujφcφ DHTML.
Do tagu se dß napsat atribut udßlosti. Zde to byly atributy onclick, ondblclick, onmouseover, je jich vφc. Jejich hodnotou je program napsan² v JavaScriptu. Obecn∞ popsßno:
<tag udßlost="program v JavaScriptu">
Zajφmß m∞ ten program. JavaScript je objektov∞ orientovan². Kdy╛ to velmi zjednodu╣φm, tak se objektov∞ orientovanΘ programy sklßdajφ z instrukcφ typu
objekt.jeho_vlastnost = hodnota;
V p°φkladu jsem pou╛φval velmi jednoduch² objekt this (angl. "tento"). Objekt this je objekt, kter² vyvolal udßlost.
this mß podobjekt (vlastnost) this.style, to je jeho CSS styl (this.style je takΘ objekt). Objekt this.style mß spoustu vlastnostφ, kterΘ odpovφdajφ jednotliv²m CSS vlastnostem.
Nap°. this.style.color je barva pφsma objektu this, this.style.fontWeight je tuΦnost pφsma. Potom instrukce
this.style.backgroundColor = 'red';
je zm∞na barvy pozadφ na Φervenou.
Jazyk JavaScript mß spoustu podivn²ch vlastnostφ. Nap°φklad v programu zßle╛φ na velikosti pφsmen. Nebo jinß zajφmavost: v nßzvu objektu a vlastnosti se nesmφ objevit pomlΦka.
Jak ale zapisovat CSS vlasnosti, kterΘ v sob∞ majφ pomlΦku? Pravidlo °φkß, ╛e pomlΦka se vypou╣tφ a nßsledujφcφ pφsmeno se zv∞t╣uje. Nap° CSS vlasntost list-style-image se do Javascriptu p°epφ╣e jako listStyleImage. Stejn∞ tak background-color => backgroungColor. P°φklady si najd∞te v p°ehledu CSS vlastnostφ.
Zatφm jsme pracovali pouze s objektem this. Co kdy╛ ale chci libovolnou udßlostφ ovliv≥ovat libovoln² prvek? Dejme tomu, ╛e chci kliknutφm na prvnφ odstavec zm∞nit barvu pozadφ druhΘho odstavce na ╛lutou:
Prvnφ odstavec
Druh² odstavec
<p onclick="document.all.druhy.style.backgroundColor=
'yellow'">Prvnφ odstavec </p>
<p id="druhy">Druh² odstavec</p>
Objekt document.all (angl. v╣echno) umo╛≥uje referovat na v╣echny elementy, kterΘ majφ nastaveny ID. Tak tedy document.all.druhy je objekt toho druhΘho odstavce, proto╛e mß nastaveno ID="druhy".
P°edchozφ p°φklady m∞ly slou╛it jenom jako namlsßnφ, p°esto byste podle nich u╛ mohli psßt dosti slo╛itΘ skripty. Pokud vßs problematika zajφmß, napi╣te mi, p°ipφ╣u dal╣φ dφly. Zatφm nemßm motivaci, proto╛e mßm spoustu jinΘ prßce.
Vizte tΘ╛: CSS, JavaScript (pracovnφ verze)
Obsah
Hledßnφ
Zßkladnφ kurs
Editory
HTML tipy
Provoz webu
CSS styly
Jak psßt web:
http://dusan.pc-slany.cz/internet/
Pφ╣e Yuh∙: autorova strßnka, mail: dusan@pc-slany.cz
Poslednφ aktualizace 19.01.2002