Klapptext funktioniert erst ab 2tem Klick

JumpFrog

Mitglied
Hey leute,

ich bin nicht so ganz Fit in Sachen JS. Ich vermute auch ich habe die Fehlerquelle gefunden, doch fällt mir keine Lösung ein.

also zunächst das Script:
Code:
function wechselDich(id) {
	if(document.getElementById) {
		if(document.getElementById(id).style.display == 'none') {
			document.getElementById(id).style.display = 'block';
		} else {
			document.getElementById(id).style.display = 'none';
		}
	}
}

Dann Die div container:
Code:
<div class="inside">
									<div class="formular_teilueberschrift">
										<a href="" onclick="wechselDich('versteckt'); return false;">Angaben zu den Veranstalltungen</a>
										<br>
										<hr>
									</div>
									<div id="versteckt"  class="versteckt_formular_content">
										<div class="formular_content">
											Hier kommt das Formular hin.
										</div>
									</div>
								</div>

Hier dazu noch die css zeilen:
Code:
#formular .versteckt_formular_content { width:100%; display:none; }
#formular .formular_teiluebschrift { color:#808080; }

so weit wie ich das gesehen habe, wird zuerst der div auf display=none gesetzt und beim 2ten mal klicken auf display=block. Wobei in der CSS dies halt steht. Durch Firebug ist das auch gut ersichtlich das durch ein klick das attribut erst hinzugefügt wird mit none und dann beim 2ten klick auf block gesetzt wird.
Habt ihr eine Ahnung wie ich das ändern kann?

LG Jumpfrog
 
Schau dir doch einfach mal an, was am Anfang als Wert gesetzt ist. Ich vermute, dass es nicht "none" ist:
Code:
alert(document.getElementById('versteckt').style.display);
 
Schau dir doch einfach mal an, was am Anfang als Wert gesetzt ist. Ich vermute, dass es nicht "none" ist:
Code:
alert(document.getElementById('versteckt').style.display);

Habe ich versucht. das danach erscheinende Fenster ist leer!

Einfach so:

Javascript:
function wechselDich(id) {
    if(document.getElementById) {
        if(document.getElementById(id).style.display == 'block') {
            document.getElementById(id).style.display = 'none';
        } else {
            document.getElementById(id).style.display = 'block';
        }
    }
}

Logisch die Logik einfach umdrehen... an dem Abend hatte ich das Irgendwie im Gefühl so Unterbewust aber da bin ich nicht drauf gekommen. Danke nun geht es so wie ich das haben möchte :)
 
Zurück