वास्तव में, मेरे पास एक समाधान है जिसे केवल 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 के साथ काम करे।
NB: फ़ायरफ़ॉक्स 3 और 6 पर परीक्षण किया गया है (हाँ यह उस पुरानी चीज़ पर भी काम करता है)