jQuery实现的背景颜色渐变动画效果示例
本文实例讲述了jQuery实现的背景颜色渐变动画效果。分享给大家供大家参考,具体如下:
完整实例代码如下:
<!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> <div style="width: 600px; height: 200px; border: 1px solid red;" id="asd"> 脚本之家欢迎各位光临--https://www.jb51.net </div> </body> </html>
PS:这里再为大家推荐几款相关的颜色与特效工具供大家参考使用:
在线特效文字/彩色文字生成工具:
http://tools.jb51.net/aideddesign/colortext
在线彩虹文字/颜色渐变文字生成工具:
http://tools.jb51.net/aideddesign/txt_caihongzi
在线发光字生成工具:
http://tools.jb51.net/aideddesign/txt_faguangzi
仿古书排版文字竖排转换工具:
http://tools.jb51.net/transcoding/shupai
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》、《jquery中Ajax用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
相关文章
JQuery样式操作、click事件以及索引值-选项卡应用示例
这篇文章主要介绍了JQuery样式操作、click事件以及索引值-选项卡应用,结合实例形式分析了jQuery动态修改css样式、事件响应以及选项卡相关操作技巧,需要的朋友可以参考下2019-05-05jQuery ajax请求struts action实现异步刷新
这篇文章主要为大家详细介绍了JQuery ajax请求struts action实现异步刷新,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-04-04div拖拽插件——JQ.MoveBox.js(自制JQ插件)
以前用原生的JS做过类似拖拽div的效果,现在按原思路改做成一个JQ的小插件,当作制作JQ插件的一个小练习,感兴趣的朋友可以了解下哈2013-05-05jQuery的promise与deferred对象在异步回调中的作用
这篇文章主要介绍了jQuery的promise与deferred对象在异步回调中的作用,需要的朋友可以参考下2016-05-05
最新评论