Nejste přihlášen/a.

Přihlásit se do poradny

 

Opětovné stisknutí tlačítka v JAVASCRIPTU

Od: ew345 odpovědí: 1 změna:

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.

 

 

1 odpověď na otázku
Řazeno dle hodnocení

 

 

pantatabateku*
hodnocení

0x

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".

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

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.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]