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 相关文章推荐
jQuery EasyUI之验证框validatebox实例详解
Apr 10 jQuery
jQuery ajax请求struts action实现异步刷新
Apr 19 jQuery
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 jQuery
jQuery操作css样式
May 15 jQuery
jquery加载单文件vue组件的方法
Jun 20 jQuery
jQuery选择器之子元素选择器详解
Sep 18 jQuery
jqueryUI tab标签页代码分享
Oct 09 jQuery
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
关于jquery layui弹出层的使用方法
Apr 21 jQuery
jQuery实现炫丽的3d旋转星空效果
Jul 04 jQuery
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 jQuery
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
Oct 16 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编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
基于JavaScript实现动态添加删除表格的行
2016/02/01 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
NodeJS链接MySql数据库的操作方法
2017/06/27 NodeJs
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python单链表的简单实现方法
2014/09/23 Python
简单使用Python自动生成文章
2014/12/25 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
使用Python来开发微信功能
2018/06/13 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
新大陆软件面试题
2016/11/24 面试题
家长对小学生的评语
2014/01/28 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书
MySQL Server层四个日志的实现
2022/03/31 MySQL