899 Aufrufe
Gefragt in Webseiten HTML von
Hallo,

habe ein kleines Problem mit JavaScript, bei welchem ich momentan nicht weiter komme.

Damit die User eine bestimmte Auswahl treffen können, blende ich zunächst ein seitenfüllendes div ein, welches die Seite verdunkelt. Darin befindet sich ein weiteres div, wo der User die tatsächliche Auswahl treffen kann.

Um diese divs nach erfolgter Auswahl wieder zu schließen, möchte ich dem User zwei Möglichkeiten an die Hand geben.
1. Per Klick auf den Abbrechen-Link im inneren div.
2. Per Klick auf das äußere div (also den verdunkelten Bereich).

Das Problem: Sobald ich das äußere div per onclick entsprechend umfunktioniere, führt der Abbrechen-Link keine Aktion mehr aus. Lasse ich das äußere div ohne onclick, funktioniert der Link tadellos.

JavaScript:
function unhide(divID) {
var item = document.getElementById(divID);
if (item) {
item.className=(item.className=='divlayerhidden')?'divlayer':'divlayerhidden';
}
}

Zugehöriges HTML: (von überflüssigem Inhalt befreit)
<div id="search" class="divlayerhidden" onclick="unhide('search');">
<div class="divlayerinner">
<iframe></iframe><br><br>
<a href="javascript:unhide('search');">Abbrechen</a>
</div>
</div>

Hat hier jemand eine Idee?

2 Antworten

0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Sobald ich das äußere div per onclick entsprechend umfunktioniere, führt der Abbrechen-Link keine Aktion mehr aus.
Doch, führt er. Er und onclick des DIVs. Also einmal CSS-Klassenwechsel und wieder zurück. Das ganze vermutlich so schnell, dass es aussieht, als wenn nichts passiert.

Vorschlag:
<a href="#">Abbrechen</a>
0 Punkte
Beantwortet von
Ah, da liegt also das Problem. Dein Lösungsansatz passt zwar nicht zum gewünschten Verhalten, aber jetzt weiß ich, wo ich ansetzen muss. Danke dir.
...