Nejste přihlášen/a.
Dobrý den,
vytvořil jsem si v html tlačítko pomocí tagu <button>, poté jsem v javascriptu vytvořil funkci která zobrazí obrázek při kliknutí na tlačítko.
KÓD VYPADÁ NASLEDOVNĚ:
<body>
<button id="d"onclick="showimage()">
tlacitko
</button>
<img id="obrazek"src="https://www.bing.com/images/blob?bcid=RL6Fzc0vWH4EqxcxoNWLuD9SqbotqVTdP5U"style="visibility:hidden"/>
<script>
function showimage(){document.getElementById("obrazek").style.visibility="visible";}
</script>
</body>
Nicméně rád bych to posunul trochu dál, aby při opětovném stisknutí toho samého tlačítka obrázek zmizel. Nechci vytvářet žádné další tlačítko. Pouze aby při opětovném stisknutí obrázek zmizel, po dalším stisknutí se zase objevil.
Napadlo mě, že by to šlo vyřešit pomocí proměnné a podmínky. Při kažém stisknutí by se do proměnné počet nahrálo číslo, které by určovalo pořadí kliknutí
při prvním stisknutí by hodnota proměnné byla rovna 1 - obrázek se zobrazil
při druhém stisknutí by hodnota proměnné byla rovna 2 - obrázek zmizel
při třetím stisknutí by hodnota proměnné byla rovna 3 - obrázek se zobrazil
při čtvrtém stisknutí by hodnota proměnné byla rovna 4 - obrázek zmizel
při pátem stisknutí by hodnota proměnné byla rovna 5 . obrázek se zobrazil
atd... až do nekonečna. JISTĚ JSTE SI ALE VŠIMLI ŽE PŘI ZOBRAZENÍ OBRÁZKU MÁ PROMĚNNÁ HODNOTU LICHÉHO ČÍSLA,
KDEŽTO KDYŽ JE OBRÁZEK SKRYTÝ HODNOTA PROMĚNNÉ JE SUDÁ.
Napadlo mě tedy vytvořit podmínku která bude zkoumat zdali je proměnná sudá či lichá, pakliže je lichá bude platit visibility="visible"- obrázek se zobrazí
pakliže sudá bude platit "visibility:hidden"- obrázek se skryje.
Nicnéně nevím jak zapsat aby podmínka poznala že proměnná počet je sudá či lichá. Napadlo mě to vyřešit že pokud je proměnná počet dělitelná dvěmi beze zbytku => je sudá - obrázek se skryje
pakliže není proměnná počet dělitelná dvěmi beze zbytku => je lichá - obrázek se zobrazí
Takto teoreticky na papíře si to umím představit, nicméně už tápu jak to v kódu zapsat
Budu rád když bude někdo tak ochotný a poradí mi jak myšlenku dotáhnout do konce a přepsat do kódu.
Vážím si Vašeho času a přeji hezký den.
S podmínkou detekce viditelnosti:
function showimage(){
let obrazek=document.getElementById("obrazek");
if (obrazek.style.visibility=="visible") obrazek.style.visibility="hidden";
else obrazek.style.visibility="visible";
}
S podmínkou modula (zapisuje se jako procento):
let buttonNum=0;
function showimage(){
let obrazek=document.getElementById("obrazek");
buttonNum++;
if (buttonNum%2==1) obrazek.style.visibility="visible";
else obrazek.style.visibility="hidden";
}
Poznámka: let obrazek=document.getElementById("obrazek"); může být i mimo funkci.
Poznámka 2: Někteří začátnečníci chtějí skrýt i "práznou oblast neviditelného obrázku", neví jak na to, nevím zda je to Váš případ, nejde to moc poznat z vašeho kódu, visibility="visible"nahraďte display="block"a visibility="hidden"na display="none".
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.