Home > Article > Web Front-end > jQuery operates background color gradient animation effect
This time I will bring you the jQuery operation background color gradient animation effect. What are the precautions for jQuery operation background color gradient animation effect. The following is a practical case, let's take a look.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>背景颜色渐变</title> <script type="text/javascript" src="jquery-1.7.2.min.js"></script> </head> <body> <input id="Button1" type="button" value="button" onclick="tggg()" /> <script> function tggg() { //$("#asd").css({ "background-color": "red" }).show().fadeOut(500); fadeColor( { r: 0, g: 255, b: 0 }, //star color {r: 255, g: 255, b: 255 }, //end color function (color) { document.getElementById("asd").style.backgroundColor = color; }, 1, 10); } //所有代码的执行时间只有24毫秒左右。 function fadeColor(from, to, callback, duration, totalFrames) { //用一个函数来包裹setTimeout,根据帧数来确定延时 function doTimeout(color, frame) { setTimeout(function () { try { callback(color); } catch (e) { JSLog.write(e); } }, (duration * 1000 / totalFrames) * frame); //总持续秒数/每秒帧数*当前帧数=延时(秒),再乘以1000作为延时(毫秒) } // 整个渐变过程的持续时间,默认为1秒 var duration = duration || 1; // 总帧数,默认为持续秒数*15帧,也即每秒15帧 var totalFrames = totalFrames || duration * 15; var r, g, b; var frame = 1; //在第0帧设置起始颜色 doTimeout('rgb(' + from.r + ',' + from.g + ',' + from.b + ')', 0); //计算每次变化所需要改变的rgb值 while (frame < totalFrames + 1) { r = Math.ceil(from.r * ((totalFrames - frame) / totalFrames) + to.r * (frame / totalFrames)); g = Math.ceil(from.g * ((totalFrames - frame) / totalFrames) + to.g * (frame / totalFrames)); b = Math.ceil(from.b * ((totalFrames - frame) / totalFrames) + to.b * (frame / totalFrames)); // 调用本frame的doTimeout doTimeout('rgb(' + r + ',' + g + ',' + b + ')', frame); frame++; } } </script> <p style="width: 600px; height: 200px; border: 1px solid red;" id="asd"> 脚本之家欢迎各位光临--http://www.jb51.net </p> </body> </html>
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:
Detailed explanation of the use of jquery plug-in extension
jQuery implements single-line announcement carousel
jQuery operates anchor point dynamic displacement
The above is the detailed content of jQuery operates background color gradient animation effect. For more information, please follow other related articles on the PHP Chinese website!