Jonathan: Link-Farbe ändern beim anklicken

Beitrag lesen

Hallo Chriss,

"qay" hat mir ja schon ein Beispiel für eine Funktion gegeben. Klappt aber noch nicht so richtig. Irgendwie fehlen mir noch die Verweise auf die Bilder!

qays Funktion ist ziemlich umständlich und da sind auch noch ein paar Fehler drin. Ich würds einfach so machen:

HTML:

<div>  
<a href="bild1.jpg" id="link1" class="current" onclick="return bildwechsel(this);">1</a>  
<a href="bild2.jpg" id="link2" onclick="return bildwechsel(this);">2</a>  
<a href="bild3.jpg" id="link3" onclick="return bildwechsel(this);">3</a>  
</div>  
  
<img id="test" src="bild1.jpg">

Javascript:

function bildwechsel(link)  
{  
  var bild=document.getElementById('test');  
  bild.src = link.href; //bild zuweisen  
  var allelinks = link.parentNode.childNodes;  
  for (var i=0;i<allelinks.length;i++)  
    allelinks[i].className=''; //alle Klassen zurücksetzen  
  link.className='current'; //geklicktem Link Klasse zuweisen  
  return false; //false zurückgeben, damit Linkziel nicht gefolgt wird.  
}

Wichtig ist hierbei nur, dass die Links alle in einem Element sind (in dem Fall <div>) und dass dort keine anderen Elemente drin sind. Ansonsten enthält "allelinks" nämlich auch die anderen Elemente und es werden unter Umständen auch erwünschte class-Attribute zurückgesetzt.

Man kann das ganze noch optimieren, aber ich denke, so ist es noch halbwegs verständlich.

Jonathan