Zwei Layer abwechselnd anzeigen

altox-de

Erfahrenes Mitglied
Hallo.
Ich habe folgenden Code, welcher auch recht gut funktioniert.
Einziges Problem: Wenn die Seite aufgerufen wird, sind beide Layer angezeigt, also "Text und Text2".
Wenn ich dann eine Optionauswähle, erscheint die richtige Auswahl - immer nur je ein Text.
An was liegt das?

PHP:
<html>
<head>
<title></title>
<script language="javascript">
function setVisibility() {
var val=document.layer.control.selectedIndex;
	if(val){
		meinLayer.style.display = 'none';
		meinLayer2.style.display = 'block';
	}else{
		meinLayer.style.display = 'block';
		meinLayer2.style.display = 'none';
	}
}
</script>
</head>
<body>
<form name="layer">
  <select size="1" id="control" onChange="setVisibility()">
    <option value="Ja" selected>Option1</option>
    <option value="Nein">Option2</option>
  </select>
  
  <div id="meinLayer">Hier steht ein Text</div>
  <div id="meinLayer2">Hier steht ein Text2</div>
</form>
</body>
</html>

Danke
 
Zuletzt bearbeitet:
Die Layer sind von Haus aus nicht unsichtbar gesetzt. Daher werden beide beim laden angezeigt. Entweder du setzt sie per CSS invisible oder Du führst die Javascriptfunktion beim Load aus.

Javascript:
window.onload = function(){
setVisibility()
}

Ich würde sie per CSS erst mal unsichtbar machen, da sie vermutlich mit onload noch ganz kurz sichtbar sein werden.
HTML:
<div id="meinLayer" style="display:none;">Hier steht ein Text</div>
<div id="meinLayer2" style="display:none;">Hier steht ein Text2</div>

Wenn ich dann eine Optionauswähle, erscheint die richtige Auswahl - immer nur je ein Text.
An was liegt das?
Bei der Auswahl wird nur einer angezeigt weil es so in der Funktion steht. Einer sichtbar/block der andre nicht/none.
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück