全国服务热线:4008-888-888

行业新闻

活动报名小程序免费_jQuery完成的布景颜色突变动

jQuery实现的背景颜色渐变动画效果示例       这篇文章主要介绍了jQuery实现的背景颜色渐变动画效果,涉及事件响应及页面元素属性结合时间动态变换的相关操作技巧,需要的朋友可以参考下

本文实例讲述了jQuery实现的背景颜色渐变动画效果。分享给大家供大家参考,具体如下:

完整实例代码如下:

 !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"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" / 
 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 
 div id="asd" 
 凡科欢迎各位光临--div 
 /body 
 /html 

凡科抠图:这里再为大家推荐几款相关的颜色与特效工具供大家参考使用:

在线特效文字/彩色文字生成工具:

在线彩虹文字/颜色渐变文字生成工具:

在线发光字生成工具:

仿古书排版文字竖排转换工具:

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》

希望本文所述对大家jQuery程序设计有所帮助。




在线客服

关闭

客户服务热线
4008-888-888


点击这里给我发消息 在线客服

点击这里给我发消息 在线客服