Bilder einblenden/ausblenden

Tag zusammen,

habe in einem Forum nachfolgenden code gefunden,den ich gerne verwenden würde:

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>Bild einblenden / ausblenden</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <img id="showhide" alt="" src="drr.jpg" style="widht:422px;height:372px;"><br>
<a href="javascript:hide_picture (document.getElementById ('showhide'))" title="">Bild ausblenden</a><br>
<a href="javascript:show_picture (document.getElementById ('showhide'))" title="">Bild einblenden</a><br>
<a href="javascript:fade_in_out ('showhide', -0.05)" title="">Bild schrittweise ausblenden</a><br>
<a href="javascript:fade_in_out ('showhide', 0.05)" title="">Bild schrittweise einblenden</a>
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Bildobjekt über die Visibility-Eigenschaft des Style verstecken
function hide_picture (element) {
  // Bild angegeben?
  if (typeof element == 'object' && element.tagName == 'IMG')
    // Style-Eigenschaft zum Ausblenden setzen
    element.style.visibility = 'hidden';
}

// IMG-Element per Style sichtbar machen
function show_picture (element) {
  // Handelt es sich um ein Bildelement?
  if (typeof element == 'object' && element.tagName == 'IMG')
    // Bildelement einblenden
    element.style.visibility = 'visible';
}

// Funktion kann mit JavaScript Bilder schrittweise (animiert) ausblenden
// Die Element-ID des auszublendenden Elements wird als Zeichenkette angegeben.
// Der zweite Parameter gibt die Schrittweite an, mit der das Bild ein- oder
// ausgeblendet werden soll. Negative Werte blenden aus; Positive blenden ein
function fade_in_out (element_id, step=555) {
  // Intervall noch nicht gestartet?
  if (!this.proc) {
    // Schrittweite muss positiv oder negativ sein, da
    // sonst weder aus- noch eingeblendet wird.
    if (step == 0) {
      // Fehlermeldung und Beenden, wenn Schrittweite == 0
      alert ('Schrittweite darf nicht 0 sein!');
      return;
    }
    // Ansonsten kann die Animation gestartet werden.
    this.proc = window.setInterval ('fade_in_out(\'' + element_id + '\', ' + step + ')', 50);
  }
  else {
    // Wir befinden uns bereits in der Ein- Ausblendphase
    var e = document.getElementById (element_id);
    // Variable zur Speicherung der Transparenz des Elements
    var opacity;
    // Opera, Mozilla & Co. verwenden die Style-Eigenschaft opacity
    if (!e.filters)
      opacity = !e.style.opacity ? step > 0 ? 0 : 1 : parseFloat (e.style.opacity);
    // Ansonsten wird der Alpha-Filter von IE verwendet
    else
      // Opacity wird beim IE in Prozent angegeben
      opacity = !e.filters.alpha.opacity ? step > 0 ? 0 : 1 : parseFloat (e.filters.alpha.opacity) / 100;
    // Zieltransparenz erreicht? (0, wenn ausgeblendet wird; 1, wenn eingeblendet wird)
    if ((step < 0 && opacity != 0) ¦¦
        (step > 0 && opacity != 1)) {
      // Transparenz um Schrittweite anpassen
      opacity += step;
      // Beim setzen der neuen Transparenz wieder auf die verschiedenen Browser auchten!
      if (!e.filters)
        e.style.opacity = step < 0 ? opacity < 0 ? 0 : opacity : opacity > 1 ? 1 : opacity;
      else
        e.filters.alpha.opacity = step < 0 ? opacity < 0 ? 0 : opacity * 100 : opacity > 1 ? 100 : opacity * 100;
    }
    else {
      // Endzustand (vollständig ein- bzw. ausgeblendet) erreicht!
      // Prozess kann nun abgebrochen werden.
      window.clearInterval (this.proc);
      this.proc = null;
    }
  }
}
// -->
</script>
  
  </head>
  <body>
    
  </body>
</html>

Leider funktioniert das Ganze nicht wie gewünscht.

Das Bild wird angezeigt, aber danach weder auf einmal noch schrittweise ausgeblendet bzw. wieder eingeblendet.

Was mache ich falsch bzw. was muss ich ändern, wäre schön, wenn mir jemand helfen könnte. Besten Dank

Bin zur zeit ein wenig lesefaul, aber wieso nutzt du nicht JS frameworks mit gutem Support :slight_smile:

Warum das nicht klappt, kann ich leider nicht sagen, da auf dem ersten Blick alles ok aussieht

Für Animationen sind solche Frameworks sehr nützlich. zum Beispiel:
script.aculo.us - web 2.0 javascript