Mit JS im CSS display: none auf display: block ändern
john1967
- javascript
Hallo
Ich möchte ein Aufklappmenu machen und habe daher dieses Script in Betracht gezogen:
http://www.xs4all.nl/~ppk/js/olddisplay.html
Damit kann ich ganz gut ein Menu aufklappen und wieder zu, also display: none auf display: block ändern. Jedoch ist es so, dass ich gern ein Submenu (also einen div-Bereich) bereits offen haben möchte...
Dazu hab ich einfach mal im CSS die Grundeinstellung des div-Bereichs bereits auf display: block gestellt.
Nun ist es jedoch so, dass wenn man dieses offene Submenu wieder schliessen möchte, dass man dann zweimal auf den Öffnen/Schliessen-Knopf klicken muss.
Nun meine Frage, was muss ich noch ins Javascript hineinprogrammieren, dass es auch anders rum funktioniert? Also dass man eben auch aus dem geöffneten Zustand das Submenu mit einem Klick schlissen kann.
Ich hoffe ihr seht was ich meine, vielen Dank für eure Antworten!
Hi,
Hallo
Ich möchte ein Aufklappmenu machen und habe daher dieses Script in Betracht gezogen:
http://www.xs4all.nl/~ppk/js/olddisplay.html
Damit kann ich ganz gut ein Menu aufklappen und wieder zu, also display: none auf display: block ändern. Jedoch ist es so, dass ich gern ein Submenu (also einen div-Bereich) bereits offen haben möchte...
Dazu hab ich einfach mal im CSS die Grundeinstellung des div-Bereichs bereits auf display: block gestellt.
Das liegt daran, daß solange Du noch nicht mit javascript am display gedreht hast, ...style.display weder "block" noch "none" enthält. (Eigentlich komisch, ist mir aber auch schon passiert, schließlich habe ich doch mit css die Eigenschaft schon eingestellt ..).
Ich habs eben ausprobiert. Das passiert, wenn Du den style nicht direkt am Objekt, sondern im Kopf oder einer externen CSS-Datei definierts.
Lösung:
Grüße,
Ronny
- entweder im div style="display:block" schreiben oder
- bei onload das entsprechende div einblenden lasse (überd die Funktion, die normalerweise die divs auf und zu macht)
Herzlichen Dank!
Ich habe variante 1 genommen, da ich javascript nicht so gut beherrsche.
Zumindest funktioniert es jetzt so wie ich wollte! Danke!