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遍历节点方法汇总(推荐)
May 13 jQuery
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 jQuery
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
使用jQuery实现简单的tab框实例
Aug 22 jQuery
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 jQuery
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
jQuery实现的淡入淡出与滑入滑出效果示例
Apr 18 jQuery
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 jQuery
jQuery实现滑动开关效果
Aug 02 jQuery
jquery插件实现搜索历史
Apr 24 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验证码(支持中文)
2007/02/14 PHP
PHP $_FILES函数详解
2011/03/09 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
js异步编程小技巧详解
2017/08/14 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
Python类的专用方法实例分析
2015/01/09 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
2016/10/12 Python
python 统计代码行数简单实例
2017/05/04 Python
python学生信息管理系统
2018/03/13 Python
Python 通配符删除文件的实例
2018/04/24 Python
Python图像处理之简单画板实现方法示例
2018/08/30 Python
Django用户认证系统 User对象解析
2019/08/02 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
团队经理竞聘书
2014/03/31 职场文书
工程承包协议书
2014/04/22 职场文书
交警失职检讨书
2015/01/26 职场文书
2016新年慰问信范文
2015/03/25 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书
学习雷锋主题班会
2015/08/14 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python