Programming the World Wide Web |
Fejezet6 |
<< 6.5. A szín illetve betűtípus módosítása | 6.7. Elemek egymásra helyezése >> |
6.6. Dinamikus tartalom
Az előbbi fejezetekben megvizsgáltuk annak a lehetőségét, hogy hogyan változtatható meg dinamikusan egy elem pozíciója, láthatósága, a szöveg betűtípusa,
színe, háttérszíne, illetve stílusa.
Ez a rész az XHTML elemek tartalmának megváltoztatását célozza meg. Egy elem tartalma a neki megfelelő JavaScript objektum value
tulajdonságán keresztül érhető el. Egy elem tartalmának megváltoztatása igazság szerint nem különbözik alapvető módon az egyéb tulajdonságok
megváltoztatásától.
Az alábbiakban bemutatunk egy példát, mely a dinamikus tartalom használatát szemléltetni.
Egy űrlap (form) kitöltésében segítséget nyújthatunk a felhasználónak a böngészőben megjelenő, szövegdobozban megjelenített „segéd-szöveggel” (help box vagy súgó). A szövegdoboz tartalma változhat az egér kurzorának helyzetétől függően. Mikor a kurzor egy bizonyos bemeneti mező fölé ér, a szövegdobozban megjelenített szöveg tanácsot adhat az űrlap kitöltésére vonatkozóan. Amikor a kurzor épp nincs egyik bemeneti mező fölött sem, a szövegdoboz tartalma jelezheti csupán a segítségnyújtás lehetőségét.
A következő példában egy JavaScriptben definiált, üzeneteket tartalmazó tömb adja meg a súgóként szolgáló szövegdobozban megjeneníteni kívánt szövegeket.
Amikor az egér kurzora egy bizonyos bemeneti mező fölé kerül, a mouseover
esemény hatására meghívódik az eseménykezelő függvény, mely
kiválasztja a szövegdobozban megjelenő, a kiválasztott bemeneti mezőnek megfelelő üzenetet.
A megfelelő értéket az eseménykezelőnek átadott paraméter határozza meg.
A mouseout
esemény hatására a súgóként szolgáló szövegdoboz visszanyeri a „standard” értékét.
Következik a fentieket szemléltető XHTML dokumentum és a hozzá tartozó JavaScript állomány:
A 6.8. ábra a dynValue.html dokumentumot jeleníti meg.
Megjegyzés: A tömbértékekben egyes helyeken szereplő sorvégi „\” karakterek jelzik, hogy a karakterlánc literál folytatódik a következő sorban.