使用jQuery怎么实现一个背景颜色渐变动画效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
高县网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联公司于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
完整实例代码如下:
<!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 id="asd"> 创新互联欢迎各位光临--https://www.jb51.net </div> </body> </html>
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
标题名称:使用jQuery怎么实现一个背景颜色渐变动画效果
分享网址:https://www.cdcxhl.com/article6/gocjig.html
成都网站建设公司_创新互联,为您提供静态网站、搜索引擎优化、网站改版、小程序开发、ChatGPT、微信公众号
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联