jQuery实现的背景颜色渐变动画效果示例


Posted in jQuery onMarch 24, 2017

本文实例讲述了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://3water.com
</div>
</body>
</html>
jQuery 相关文章推荐
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
JQuery判断正整数整理小结
Aug 21 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
jquery之基本选择器practice(实例讲解)
Sep 30 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
jquery实现吸顶导航效果
Jan 08 jQuery
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
jQuery实现倒计时功能完整示例
Jun 01 jQuery
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 #jQuery
jQuery编写textarea输入字数限制代码
Mar 23 #jQuery
jquery实现全选、全不选以及单选功能
Mar 23 #jQuery
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 #jQuery
纯jQuery实现前端分页功能
Mar 23 #jQuery
JQuery 进入页面默认给已赋值的复选框打钩
Mar 23 #jQuery
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 #jQuery
You might like
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
Bootstrap常用组件学习(整理)
2017/03/24 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
puppeteer库入门初探
2019/01/09 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
十分钟利用Python制作属于你自己的个性logo
2018/05/07 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
应届生幼儿园求职信
2013/11/12 职场文书
会计专业的自荐信
2013/12/12 职场文书
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
师德师风演讲稿
2014/05/05 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
Redis读写分离搭建的完整步骤
2021/09/14 Redis