실제로 jQuery 1.3x 만 필요하고 추가 플러그인이없는 솔루션이 있습니다.
먼저 스크립트에 다음 함수를 추가하십시오.
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)
}
다음으로 다음을 사용하여 함수를 호출합니다.
doBGFade( $(selector),[245,255,159],[255,255,255],'transparent',75,20,4 );
매개 변수를 추측 해 보겠습니다.이 매개 변수는 자명합니다. 솔직히 말해서 스크립트는 나에게서 온 것이 아니기 때문에 한 페이지에서 가져온 다음 최신 jQuery에서 작동하도록 변경했습니다.
주의 : 파이어 폭스 3 및 6에서 테스트되었습니다 (예, 이전 버전에서도 작동합니다).