Náhrada ovládacího prvku posuvník pomocí JavaScriptu
Jeden z pěkných ovládacích prvků mnoha Windows dialogů je takzvaný potenciometr neboli posuvník. V tomto článku si ukážeme, jak můžeme pomocí JavaScriptu vyrobit alespoň částečnou náhradu tohoto prvku na našich HTML stránkách.
Na rozdíl od standardního posuvníku nemůžeme jeho náhradu v HTML stránce ovládat tažením, ale pouze kliknutím na nové hodnotě – i přes toto omezení se prvek dá ovládat vcelku „intuitivně“. Vyzkoušejte si to:
Kromě samotné HTML stránky si musíme připravit dva obrázky, první (pojmenovaný zde „jezdec.gif“) zobrazuje jezdce, tedy onu šipku směřující dolů, druhý („linka.gif“) je stejných rozměrů jako první obrázek a zobrazuje prázdnou čáru.
Celý příklad jsme v tomto případě umístili do nadřazené tabulky a do formuláře, pojmenovaného „dest“. V něm jsme vytvořili textové pole se jménem „field1“, do nějž při pohybu posuvníku zapisujeme aktuální pozici-hodnotu prvku posuvník. Toto není nezbytně nutné, je však dobré zachovat alternativní způsob zadání hodnoty pro návštěvníky bez JavaScriptu.
Zde je HTML kód zmíněné tabulky:
|
V druhém řádku tabulky, v místě vyhrazeném pro posuvník, voláme funkci createSlider(length,pos). Ta zabezpečuje vykreslení posuvníku o délce length a výchozí pozici jezdce. Zde je její kód – umístěn může být nejlépe v hlavičce stránky:
|
Funkce vytvoří jednořádkovou tabulku o length sloupcích, kdy každý sloupec obsahuje obrázek linky nebo jezdce, zapouzdřený do odkazu. U odkazu definujeme handler události onclick, který zabezpečí vlastní funkčnost posuvníku. V Internet Exploreru bychom se obešli i bez odkazu (handlert onclick lze definovat i pro obrázek), Netscape však uznává onclick pouze pro odkaz, pro obrázek nikoliv.
V závěru funkce nastavujeme proměnnou iCurrPos. To je pomocná proměnná, udávající aktuální pozici jezdce. Samozřejmě ji musíme v kódu definovat:
|
Poslední částí příkladu je samotný handler události onclick, zde pojmenovaný sliderOnclick(index). Parametr index na vstupu funkce určuje číslo odkazu – a tím i pozici posuvníku – na které došlo ke klepnutí myší (pro obsluhu více posuvníků v rámci jedné stránky bychom museli přidat další parametr a kód trochu rozšířit). Zde je funkce sliderOnclick():
|
V první části funkce nahradíme obrázek jezdce na původní pozici posuvníku obrázkem linky. Poté změníme hodnotu pomocné proměnné iCurrPos, udávající aktuální pozici jezdce. Provedeme nějaký další kód, který chceme při posuvu dělat – v tomto případě pouze přepisujeme aktuální pozici jezdce do formulářového políčka, ale můžeme například zvětšovat/zmenšovat závislý obrázek apod. Nakonec zobrazíme obrázek jezdce na jeho nové pozici.
A to je pro tentokrát vše. Přeji příjemnou zábavu s touto drobnou hříčkou.
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
-
Nepodceňte UX na vašem webu: Proč na něm záleží?
10. dubna 2024 -
Windows App: Pracujte odkudkoliv, kdykoliv
3. listopadu 2024 -
Moderní trendy ve webdesignu: Top trendy pro rok 2024
12. ledna 2024 -
inPage AI: Revoluční nástroj pro tvorbu webů
3. července 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024