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
-
Znovuuvedení domény .AD
5. září 2024 -
AI v programování: Jak používat GitHub Copilot (část 2)
19. února 2024 -
Apple jde naproti práci s HDR monitory!
17. ledna 2025 -
Fandíme českým sportovcům a rozdáváme hosting ZDARMA!
26. července 2024
Nejnovější
-
Apple jde naproti práci s HDR monitory!
17. ledna 2025 -
Jak využít AI potenciál svého Macu?
9. ledna 2025 -
NIS2: Verifikace údajů vlastníků domén
6. ledna 2025 -
Dostali jste k vánocům PC? Využijte jeho AI potenciál!
3. ledna 2025