Dynamické HTML

co nejjednodušeji

Co je DHTML

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.

K čemu je DHTML?

Je vcelku k ničemu, protože:

Co je z DHTML použitelné:

Co musíte umět

  1. Předpokládám, že umíte základy JavaScriptu. Na internetu najdete stovky učebnic JavaScriptu, ve kterých jsou základy popsané. Skoro nikde ale nejsou popsané pokročilé techniky JavaScriptu. Takže o tom budu zčásti psát.
  2. Předpokládám, že umíte používat kaskádové styly -- CSS. Bez toho skoro nemá smysl, abyste četli dál.

Pryč s teorií. Skočme do vody a učme se plavat:

Příklady objektu "this"

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.

Komentář k příkladům

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.

Přepis CSS vlastností

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í

Objekt document.all

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".

 Zatím konec

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.

Píše Yuhů
dusan@pc-slany.cz
mail formulářem
Jak psát web O tvorbě, údržbě a zlepšování internetových stránek.

Základy HTML CSS FrontPage Hledání

Obsah

Hlavní stránka

Novinky

FAQ

Download

Zdroje

Hledání


Rozšířené

Základní kurs

Jak udělat stránku

Základy HTML

Publikování

Zásady psaní

Editory

Různé prohlížeče

Editory

FrontPage 2000

FP Editor 98

Word 97

FrontPage Express

HTML tipy

Příprava obrázků

Obrázky

Pozadí

Odkazy

Vychytávky odkazů

Záložky

Aktivní mail

Tabulky

Úprava tabulek

Novinky tabulek

Design tabulkami

Rámy

Formátování rámů

Rámy nepoužívat

Iframe

Formuláře

Formuláře v HTML

Dokonalé formuláře

Zápis barev

Definice

Formátovací chyby

Jak udělat levé menu

Vytěžování stránek

Provoz webu

Rychlost stránek

Vzdálené služby

Vyhledávače

Katalogy

Správa souborů

Ikona stránky

Obsah / forma

Čeština

Chyby češtiny

Tabulky kódování

Meta tagy

Nastavení serveru

Programování stránek

Začátky PHP

Možnosti PHP

Používání prohlížeče

CSS styly

CSS styly

Úvod do CSS

Struktura textu

CSS prakticky

PŘEHLED VLASTNOSTÍ CSS

Složitější deklarace

Délkové jednotky

Pozicování

Sloupce pozicováním

Okraje objektů

Odlišení prohlížečů

Omezení CSS

Odlišný tisk

Dynamické HTML

Filtry

Příklady filtrů

Různé barvy odkazů

Barva rolovací lišty

 


Jak psát web: http://dusan.pc-slany.cz/internet/

Píše Yuhů: autorova stránka, mail: dusan@pc-slany.cz

Poslední aktualizace 23.09.2001