Eigentlich habe ich eine Lösung, die nur jQuery 1.3x und kein zusätzliches Plugin benötigt.
Fügen Sie Ihrem Skript zunächst die folgenden Funktionen hinzu
function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) {
var delta = maxValue - minValue;
var stepp = minValue+(Math.pow(((1 / totalSteps)*actualStep),powr)*delta);
return Math.ceil(stepp)
}
function doBGFade(elem,startRGB,endRGB,finalColor,steps,intervals,powr) {
if (elem.bgFadeInt) window.clearInterval(elem.bgFadeInt);
var actStep = 0;
elem.bgFadeInt = window.setInterval(
function() {
elem.css("backgroundColor", "rgb("+
easeInOut(startRGB[0],endRGB[0],steps,actStep,powr)+","+
easeInOut(startRGB[1],endRGB[1],steps,actStep,powr)+","+
easeInOut(startRGB[2],endRGB[2],steps,actStep,powr)+")"
);
actStep++;
if (actStep > steps) {
elem.css("backgroundColor", finalColor);
window.clearInterval(elem.bgFadeInt);
}
}
,intervals)
}
Rufen Sie als nächstes die Funktion folgendermaßen auf:
doBGFade( $(selector),[245,255,159],[255,255,255],'transparent',75,20,4 );
Ich lasse Sie die Parameter erraten, sie sind ziemlich selbsterklärend. Um ehrlich zu sein, ist das Skript nicht von mir, ich habe es auf eine Seite genommen und dann geändert, damit es mit der neuesten jQuery funktioniert.
NB: getestet auf Firefox 3 und dh 6 (ja, es funktioniert auch auf diesem alten Ding)