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??