Autor | Zpráva | ||
---|---|---|---|
kamilvalek Profil |
Zdravím, mohl by mi někdo pomoci se scriptem na skrytí a zobrazení textu? Vše funguje, ale když chci zobrazený text zpět skrýt, tak to bohužel nejde a nevím si s tím rady. Díky za pomoc
<script> function prohod() { document.getElementById("skryt").style.visibility = "visible"; document.getElementById("zobrazit").style.visibility = "visible"; } </script> <div id="skryt"> <form action="javascript: prohod()"> <input type="submit" value="Zobrazit více"> </form> </div> <div style="visibility:hidden;" id="zobrazit"> <p>puvodne skryty div<p> </div> |
||
peta Profil |
kamilvalek:
"chci zobrazený text zpět skrýt" Tvuj kod neobsahuje zadny prikaz na skryti kodu, ktery by se dal ovladat javascriptem. Mas tam jen js prikaz na zobrazeni. Nebylo by lepsi menit tag.className (<tag class="skryty"> )?
Jo, nevim jiste, co se stane na action="javascript: prohod()" ja radeji pouzivam onsubmit="prohod(); return false; . Jakoze, jestli se ti formular odesle a nacte cista stranka od nova...
|
||
Joker Profil |
#3 · Zasláno: 28. 3. 2013, 13:29:36
kamilvalek:
Přepínání by se muselo udělat jinak, například, pokud proměnná element bude prvek DOMu (getElementById("něco)): if (element.style.visibility == "visible) { element.style.visibility = "hidden"; } else { element.style.visibility = "visible"; } element.style.visibility = (element.style visibility == "visible") ? "hidden" : "visible"; peta: „Nebylo by lepsi menit tag.className (<tag class="skryty"> )?“
Sluší se ovšem dodat, že v takovém případě by na přepínání viditelnosti potřeboval ještě funkce ve stylu hasClass a removeClass. |
||
peta Profil |
#4 · Zasláno: 28. 3. 2013, 15:52:49
Joker: Ale on pouziva id, class nevyuziva, staci className="" a className="skryty". Nepotrebuje resit vice class.
|
||
kamilvalek Profil |
#5 · Zasláno: 29. 3. 2013, 21:20:57
kamilvalek, Joker:
A jak by v tomto případě vypadal celý kód? Nevím zda jsem to správně pochopil, nefunguje mi zobrazení vůbec. |
||
Joker Profil |
#6 · Zasláno: 29. 3. 2013, 21:43:53
peta:
„Nepotrebuje resit vice class.“ …a nikdy na ten prvek další třídu nepřidá. To je docela odvážný předpoklad. A opět nesouhlasím s tímhle stylem řešení problémů. kamilvalek: Třeba zhruba nějak takhle: function prepni(element) { element.style.visibility = (element.style visibility == "visible") ? "hidden" : "visible"; } function prohod() { prepni(document.getElementById("skryt")); prepni(document.getElementById("zobrazit")); } |
||
kamilvalek Profil |
#7 · Zasláno: 29. 3. 2013, 22:04:02
Joker:
nevím kde je problém, ale text se mi po kliku nezobrazí |
||
kamilvalek Profil |
#8 · Zasláno: 30. 3. 2013, 12:18:57
tak nakonec jsem to pořešil takto:
<script type="text/javascript"> function SwitchElementVisibility (AName) { var xElement; xElement = document.getElementById(AName); if (xElement.style.display == 'block'){ xElement.style.display = 'none'; } else { xElement.style.display = 'block'; } } </script> <a href="#" onclick="SwitchElementVisibility('div_text_01'); return(false);"><font color="SkyBlue">zobrazit/skrýt</font></a><br /> <div style="display: none;" id="div_text_01"> |
||
VraJo Profil * |
#9 · Zasláno: 30. 3. 2013, 14:58:52
Zdravim,
jQuery obsahuje presne na toto .fadeToggle() . Ak je chut a cas: http://api.jquery.com/fadeToggle/
|
||
Časová prodleva: 10 dní
|
|||
peta Profil |
Joker
0: id1 nic, id2 style="visibility:hidden;" 1: prepni 2: nic -> visible, hidden -> visible 3: prepni 4: visible -> hidden, visible -> hidden 5: a dal uz neni na co klikat, vsechno je hidden :) |
||
Časová prodleva: 11 let
|
0