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é.
-
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>
-
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"); }
-
>> obj.style.display = ''; //zobrazime nema to byt nahodou: obj.style.display = "''; //zobrazime?
-
Zorro: to jsou imho dva apostrofy, což by mělo být stejně dobré jako dvě uvozovky ;-)
-
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)