bosselmann: Überblenden mit JavaScript

Beitrag lesen

So jetzt funzt es: Es lag am setTimeout(): Das Intervall war zu kurz, sodass der Zähler i nicht runtergesetzt werden konnte...

Jetzt noch eine abschließende Frage:

  
var meldungen = new Array(4);  
meldungen[0] = "<div id='m0'><img src='http://schwarzwald-logistik.de/images/logo.gif' id='sl' alt='SL-Logistik' /></div>";  
meldungen[1] = "<div id='m1'><img src='http://www.unimall.de/templates/yaml-for-xtc-1-0-1/img/unimall/unimall-logo01_mue.gif' id='unimall' alt='Unimall' /></div>";  
meldungen[2] = "<div id='m2'><span style='font-size:2em;'>co2-filter.com || Das CO<sub>2</sub>-Portal.</span></div>";  
meldungen[3] = "<div id='m3'>Keine aktuellen Meldungen.</div>";  
  
var i = 0;  
var j = 0;  
var textdauer = 10000;  
var unimall = 20000;  
  
function ausblenden(n)  
         {  
         var meldung = "m" + n;  
  
         document.getElementById(meldung).style.opacity = 1 - i/100;  
         document.getElementById(meldung).style.MozOpacity = 1 - i/100;  
         document.getElementById(meldung).style.KhtmlOpacity = 1 - i/100;  
         document.getElementById(meldung).style.filter = "alpha(opacity="+i+")";  
         i = i + 2;  
  
         if (i < 101)  
                 {  
                 window.setTimeout("ausblenden("+n+");", 10);  
                 }  
         else  
                 {  
                 document.getElementById(meldung).visibility = "hidden";  
                 i = 0;  
                 return;  
                 }  
         }  
  
  
function einblenden(n)  
         {  
         var meldung = "m" + n;  
         if (i == 0)  
                 {  
                 document.getElementById(meldung).visibility = "hidden";  
                 i = i + 2;  
                 window.setTimeout("einblenden("+n+");", 10);  
                 }  
  
         else  
                 {  
         document.getElementById(meldung).style.opacity = i/100;  
         document.getElementById(meldung).style.MozOpacity = i/100;  
         document.getElementById(meldung).style.KhtmlOpacity = i/100;  
         document.getElementById(meldung).style.filter = "alpha(opacity="+i+")";  
         i = i + 2;  
  
         if (i < 101)  
                 {  
                 window.setTimeout("einblenden("+n+");", 10);  
                 }  
         else  
                 {  
                 document.getElementById(meldung).visibility = "visible";  
                 i = 0;  
                 return;  
                 }  
  
         }  
         }  
  
function ausgeben (x)  
         {  
         document.getElementById("akg").innerHTML = meldungen[x];  
         window.setTimeout("einblenden("+x+");", 0);  
         window.setTimeout("ausblenden("+x+");", textdauer + 875);  
         x++;  
         x = (x == meldungen.length) ? 0 : x;  
         window.setTimeout("ausgeben("+x+");", textdauer + 1700);  
         return;  
         }

Jetzt wird aber das Bild vor dem Einblenden ganz kurz angezeigt. Gibt es eine Möglichkeit, das zu unterbinden??