Hallo Forum!
Meinst Du mich?
Doch nun muss ich zweimal auf einen übergeordeneten Menüeintrag klicken, damit das Untermenü angezeigt wird! Danach wechselt der zustand bei jedem Klick wie erwartet. Mit der direkten Styleangabe beim blockquote erfolgt schon wie gewollt beim ersten Klick das Erscheinen des Untermenüs.
Kann mir jemand sagen, warum das so ist und wie ich mit der CSS-Klasse ebenfalls eine Reaktion beim ersten Klick erreiche?
Aus irgendwelchen Gründen geht das nicht, weil Javascript eine per separater Style-Definition zugewiesene Eigenschaft als "leer" erkennt. Beim ersten Anklicken trifft also die Bedingung "...style.display != 'none'" zu und setzt das Display auf 'none'. Nur scheinbar passiert also gar nichts. Beim zweiten Mal wird 'none' erkannt und entsprechend auf 'block' gesetzt, ab da funktioniert es dann richtig.
Du brauchst es also nur umzukehren und aus der negierenden Bedingung "Nicht 'none'" die affirmierende "Gleich 'block'" zu machen.:
[code on]
if(sec.style.display == "block")
sec.style.display="none";
else
sec.style.display="block";
[code off]
MfG
Andreas Heyer
servus,
T.