Postupné vypisování textu ve stavovém řádku prohlížeče
V minulých dílech miniseriálku o textech ve stavovém řádku jsme si ukázali, jak lze pomocí časovače a vlastnosti status objektu window vytvářet v této části prohlížeče zajímavé efekty. Tentokrát se k ještě jednou vrátíme k tématu a ukážeme si asi nejhezčí efekt z této rodiny: postupné vypisování zadaného textu ve stavovém řádku prohlížeče.
Podívejte se nejprve dolů do stavového řádku, jak takové postupné vypisování textu. Pokud se tam náhodou nic neděje, zřejmě jste dlouho četli úvod, a simulace mezitím doběhla - zkuste reload stránky.
Princip této techniky je znovu velice prostý. Využijeme opět náš starý známý časovač, dále jednoduché manipulace s řetězci, a konečně generátor pseudonáhodných čísel (o něm se podrobněji dočtete v článku o náhodě na stránkách).
První verze skriptu pro simulaci psacího stroje vypadá následovně:
|
Do proměnné message uložíme text, který chceme nechat vypisovat ve statovém řádku. Proměnná len je pomocná a udává aktuální pozici v řetězci message. Funkce randNum je vlastně generátor pseudonáhodných čísel, upravený tak, aby vracel celé číslo v intervalu 1..num. Použili jsme jej již dříve, konkrétně ve článku o náhodě na stránkách.
Hlavní práci vykonává funkce WriteIt1. Ta "vyřeže" z řetězce message prvních len znaků a umístí je do stavového řádku, poté inkrementuje počitadlo len, a na závěr nastaví časovač tak, aby po uplynutí časového kvanta byla opět zavolána funkce WriteIt1, která dodá do stavového řádku další znak. Na tom není samozřejmě nic složitého, celý vtip spočívá vlastně v tom, že časové kvantum mezi jednotlivými voláními funkce WriteIt1 není vždy stejné, ale nastavuje se náhodně v rozmezí 1 - 500 milisekund, právě pomocí generátoru randNum. Vypisování textu musíme ještě spustit, k tomu slouží poslední řádek uvedeného kódu.
Vylepšení
Toto jednoduché vypisování textu můžeme ve druhé variantě vylepšit tím, že jej naučíme v definovaných místech textu "odřádkovat" - tj. smazat stavový řádek a začít další text jakoby na prázdném řádku. Text, který běží na této stránce, dole, ve stavovém řádku prohlížeče, je právě tato vylepšená varianta s řádkováním.
Pro takové vylepšení musíme jednak definovat pomocnou proměnnou position, do které budeme ukládat aktuální začátek textu po odřádkování, a dále upravit funkci WriteIt1. Upravenou variantu nazveme WriteIt2:
|
V upravené funkci testujeme, zda se v řetězci message na aktuální pozici nenachází znak hvězdičky (*). Pokud ano, provedeme odřádkování, tj. vymažeme obsah stavového řádku a přenastavíme pomocnou proměnnou position. Podíváte-li se do prvního příkladu v úvodu tohoto článku, uvidíte, že jsme v řetězci message skutečně hvězdičku použili. Pokud vám hvězdička nevyhovuje, lze samozřejmě po příslušné úpravě funkce použít jakéhokoliv jiného znaku, doporučuji oblíbenou vlnovku - tildu (~).
Postřehy na závěr:
Použijete-li řádkování podle druhé varianty, lze ve stavovém řádku takto psát i dlouhý text plný upoutávek; chcete-li do textu vložit dramatickou pomlku, stačí v příslušném řetězci udělat místo jedné několik mezer.
Námět na vylepšení - uvedenou funkci by bylo dobré upravit tak, aby po doběhnutí textu na konec začala vypisovat vše znovu od začátku.
A nakonec: jako u všech dalších javascriptových "poskakovadel" a "běhadel" neuškodí při použití umírněnost - méně znamená toiž v tomto případě více. Souhlasíte?
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
AI na dosah ruky: Jak je to s AI v osobních zařízeních?
22. ledna 2024 -
Certifikáty Entrust ztratí důvěru Google Chrome
8. července 2024 -
Aktualizujete svoji .NET webovou aplikaci? Může se hodit app_offline.htm
10. července 2024 -
ZONER Webmail jako první v Česku přináší BIMI s VMC
11. července 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024