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插件FusionCharts实现的Marimekko图效果示例【附demo源码】
Mar 24 jQuery
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
May 01 jQuery
jQuery中clone()函数实现表单中增加和减少输入项
May 13 jQuery
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
jquery加载单文件vue组件的方法
Jun 20 jQuery
jQuery实现导航栏头部菜单项点击后变换颜色的方法
Jul 19 jQuery
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
Aug 18 jQuery
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
jQuery解析json格式数据示例
Sep 01 jQuery
JQuery 实现文件下载的常用方法分析
Oct 29 jQuery
jquery实现进度条状态展示
Mar 26 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 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
PHP读取XML格式文件的方法总结
2017/02/27 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
2017/05/20 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
angular中使用路由和$location切换视图
2015/01/23 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
JavaScript学习笔记整理_关于表达式和语句
2016/09/19 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
微信小程序3种位置API的使用方法详解
2019/08/05 Javascript
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
我的珠宝盒:Ma boîte à bijoux
2019/08/27 全球购物
Lookfantastic澳大利亚官网:英国知名美妆购物网站
2021/01/07 全球购物
英语专业个人求职自荐信
2013/09/21 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
团队会宣传标语
2014/10/09 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
SQL Server中的游标介绍
2022/05/20 SQL Server