Autor Zpráva
happyguy
Profil
Ahoj, mam problem chtel bych udelat tlacitko na kterz kdyz klepnu jednou tak mi element zmizi a kdyz na nej klepnu po druhy tak se zas objevi a udelal jsem to takto:
function skryt() {
var hodnota = 1;
if (hodnota == 1) {
document.getElementById("obr").style.visibility = "hidden";
hodnota = 2;
} else {
document.getElementById("obr").style.visibility = "visible";
hodnota = 1;
}
}

ale moc to nefunfuje nevite nekdo kde je chyba ?
dekuji ya odpoved
DJ Miky
Profil
Musíš tu proměnnou 'hodnota' definovat vně funkce, ne uvnitř.
Dedleg
Profil
function sa() {
var hodnota = 1;
if(document.getElementById("obr").hidden="true") { var hodnota = 2; }
if (hodnota == 2; hodnota = 1;) {
document.getElementById("obr").hidden="false";
}
if (hodnota == 1; hodnota = 2;) {
document.getElementById("obr").hidden="true";
}
}
<input type="button" hidden="false" id="obr">
<input type="button" value="Skryt/Ukazat" onClick="sa()">
Joker
Profil
Dedleg
Tohle nebude fungovat už vůbec.

Správně je to co píše DJ Miky, to "var hodnota = 1;" musí být vně funkce, protože jinak se jednak proměnná hodnota neuchová po ukončení funkce a jednak se při každém volání funkce nastaví zas na 1.
Dedleg
Profil
Joker
?? ak si si vsimol tak som sa pomilil ale zmenil som prispevok
Dedleg
Profil
Joker
?? ok pomilil som sa ale som zmenil prispevok . :) na dobry
DJ Miky
Profil
Dedleg
JavaScript má jako jiné jazyky danou syntaxi, kterou musíš dodržovat… Nemůžeš psát, jak tě napadne. Tohle je fakt blbost.
nightfish
Profil
nešlo by to třeba takhle, bez použití pomocné proměnné?

function skryt() {

var elem = document.getElementById("obr");
var styl = elem.style.visibility;
if (styl == "hidden") elem.style.visibility = "visible";
else elem.style.visibility = "hidden";
}

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0