JS: skryvani a odkryvani DIVu

5 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Zdravim! Potreboval bych udelat skryvani a odkryvani DIVu jednim tlacitkem: Defaultne bude DIV skryty. Kliknutim na tlacitko, ktere k danemu DIVu patri by se mel div zobrazit. Po opetovnem kliknuti na toto same tlacitko by se mel DIV opet skryt. Ovsem narazil jsem na problem. Nejak mi to ne a ne fungovat: <SCRIPT> function change_display(obj) { if(typeof mode == 'undefined') mode = 1; //prvni spusteni if(mode == 1) { //pokud chceme zobrazit obj.style.display = ''; //zobrazime mode = 0; //priste budem skryvat } if(mode == 0) { //pokud chcen skryt obj.style.display = 'none'; mode = 1; } } </SCRIPT> <INPUT type="button" onclick="change_display(div_1)"> <DIV id="div_1" style="display: none;"> BAF! </DIV>
  2. Ak je mode rovné 0, vykoná sa podmienka if (mode == 0). Ale ak je mode rovné 1, vykoná sa if (mode == 1), kde sa nastaví mode na 0 a hneď za tým sa vykoná podmienka if (mode == 0), čím sa to znova skryje. Takže pred if (mode == 0) patrí else. A ešte aby to behalo aj inde než v IE, obsluha udalosti onclick bude vyzerať takto: change_display(document.getElementById('div_1')) btw: celú funkciu change_display by som napísal takto: function change_display (obj) { obj.style.display = (obj.style.display == "none"? "": "none"); }
  3. >> obj.style.display = ''; //zobrazime nema to byt nahodou: obj.style.display = "''; //zobrazime?
  4. Zorro: to jsou imho dva apostrofy, což by mělo být stejně dobré jako dvě uvozovky ;-)
  5. Pokud ho chceš mít opravdu skrytý a nepotřebuješ, aby ti dělal ve skrytém stavu místo, tak bych radil místo display použít visibility, je to rychlejší ;o)

← Zpět na všechna témata