จริงๆแล้วฉันมีวิธีแก้ปัญหาที่ต้องการ jQuery 1.3x เท่านั้นและไม่มีปลั๊กอิน aditionnal
ขั้นแรกให้เพิ่มฟังก์ชันต่อไปนี้ในสคริปต์ของคุณ
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 ล่าสุด
หมายเหตุ: ทดสอบบน firefox 3 และ ie 6 (ใช่มันใช้ได้กับสิ่งเก่า ๆ ด้วย)