Bild ändern

  • Themenstarter Themenstarter D@nger
  • Beginndatum Beginndatum
Hallo, so klappts wenigstens, auch wens nicht besonders elegant ist:
HTML:
<script type="text/javascript">
function switchlayer(Layer_Name)
{

       document.getElementById(Layer_Name).style.display=
	   document.getElementById(Layer_Name).style.display=='block' ? 'none' : 'block';
	   
	      
	   
	   
	   
	   if (Layer_Name=="bilder_wohnung")
	   {
       if (document.getElementById("bilder_wohnung").style.display=="block")
	    {
	     document.images.pfeil1.src="images/pfeilu.jpg";
	    }
       else
        {
	     document.images.pfeil1.src="images/pfeil.jpg";
	    }
	    }
	    
	   if (Layer_Name=="belegungskalender")
	   {
       if (document.getElementById("belegungskalender").style.display=="block")
	    {
	     document.images.pfeil2.src="images/pfeilu.jpg";
	    }
       else
        {
	     document.images.pfeil2.src="images/pfeil.jpg";
	    }
	    }
   	    
}    
</script>

Vielleicht weiß ja jemand wie mans elgenater lösen kann. Vielen Dank.
 
D@nger hat gesagt.:
Hallo, hmmm, also ich verstehe das immer noch nicht so ganz, denn es funktioniert immer noch noch...

Probier mal

document.getElementById("pfeill").src="./Bild";

Habe ich von meinen Bannertauschsystem

deepthroat hat gesagt.:
Den ternären Operator ? : gibt's aber in C/C++ auch. Diese Anweisung ist notwending um das div Ein- bzw. Auszublenden.

Gruß

Ganz einfach die Abfrage ist total Sinnlos würde nur sinn machen wenn in statt der ersten Variable ein andere Variable stehen würde, in diesen Fall

Moment ich Optimiere jetzt mal:
Code:
<script type="text/javascript">
function switchlayer(Layer_Name)
{

      document.getElementById("pfeill").src = (document.getElementById(Layer_Name).style.display=='block') ? "images/pfeil.jpg";  :  "images/pfeilu.jpg";

}    
</script>
 
Wie wäre denn
Javascript:
function switchlayer(Layer_Name, pfeil)
{
  
       if (document.getElementById(Layer_Name).style.display=="block")
	    {
	     document.getElementById(pfeil).src="http://www.tutorials.de/forum/images/pfeilu.jpg";
	    }
       else
        {
	     document.getElementById(pfeil).src="http://www.tutorials.de/forum/images/pfeil.jpg";
	}
}
HTML:
<a href="#" onclick="switchlayer('belegunskalender', 'pfeil2'); return false;">...</a>

Du solltest evtl. dein Problem nochmal genauer erläutern. Was willst du denn eigentlich? Und ohne Kontext ist es auch sehr schwer deine Aussagen zuzuordnen - was meintest du denn z.B. mit deinem vorletzten Post?

Gruß
 
Cusco hat gesagt.:
Ganz einfach die Abfrage ist total Sinnlos würde nur sinn machen wenn in statt der ersten Variable ein andere Variable stehen würde
Damit wir uns nicht missverstehen, es geht doch um die folgende Anweisung:
Javascript:
document.getElementById(Layer_Name).style.display=
	   document.getElementById(Layer_Name).style.display=='block' ? 'none' : 'block';
Da wird der Wert der CSS display Eigenschaft eines Elements auf "none" gesetzt falls der Wert der Eigenschaft vorher "block" war, ansonsten wird die Eigenschaft auf "block" gesetzt, so das bei wiederholter Ausführung der Wert immer wechselt. Wieso ist das jetzt sinnlos? Die Anweisung könnte man auch so schreiben (da ist sie leichter zu verstehen):
Javascript:
if (document.getElementById(Layer_Name).style.display=='block') {
  document.getElementById(Layer_Name).style.display = 'none';
} else {
  document.getElementById(Layer_Name).style.display = 'block';
}

Gruß
 
deepthroat hat gesagt.:
Damit wir uns nicht missverstehen, es geht doch um die folgende Anweisung:
Javascript:
document.getElementById(Layer_Name).style.display=
	   document.getElementById(Layer_Name).style.display=='block' ? 'none' : 'block';
Da wird der Wert der CSS display Eigenschaft eines Elements auf "none" gesetzt falls der Wert der Eigenschaft vorher "block" war, ansonsten wird die Eigenschaft auf "block" gesetzt, so das bei wiederholter Ausführung der Wert immer wechselt. Wieso ist das jetzt sinnlos? Die Anweisung könnte man auch so schreiben (da ist sie leichter zu verstehen):
Javascript:
if (document.getElementById(Layer_Name).style.display=='block') {
  document.getElementById(Layer_Name).style.display = 'none';
} else {
  document.getElementById(Layer_Name).style.display = 'block';
}

Gruß

Achso der Wert soll wechseln, ja dann ist es ok.
 
Zurück