Hallo,
Ja, mit window.setTimeout oder window.setInterval kannst Du sowas machen. Z.b. in etwa so:
function fade (id, actOpac, endOpac, step) {
//Abbruchkriterium - Wenn Opacity auf Zielwert ist
if (Math.abs(endOpac - actOpac) < step) {
changeOpac(endOpac, id);
return;
}
//Fade
changeOpac(actOpac, id);
actOpac += (actOpac > endOpac) ? -step : step;
window.setTimeout("fade('"+id+"', "+actOpac+","+endOpac+","+step+");", 40);
}
// Bsp. FadeIn
fade ("meinDiv", 0, 100, 10);
//Bsp. FadeOut
fade ("meinDiv", 100,0,10);
Dies erhöht/erniedrigt die Opacity alle 40ms um 10. Wählst Du einen anderen Wert für "step" als 10, kannst Du das Faden beschleunigen oder verlangsamen.
(All das ist ohne Gewähr, ich habs nur runtergetippt und nicht ausprobiert - evtl. Syntaxfehler bitte ich also zu entschudligen :) )
Grüße,
Jörg