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的左滑出现删除按钮的示例
Aug 29 jQuery
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
轻松搞定jQuery+JSONP跨域请求的解决方案
Mar 06 jQuery
浅谈JS和jQuery的区别
Mar 27 jQuery
jQuery分组选择器简单用法示例
Apr 04 jQuery
详解jquery和vue对比
Apr 16 jQuery
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
jQuery内容选择器与表单选择器实例分析
Jun 28 jQuery
jQuery pager.js 插件动态分页功能实例分析
Aug 02 jQuery
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
Sep 10 jQuery
JS 遍历 json 和 JQuery 遍历json操作完整示例
Nov 11 jQuery
jQuery实现简单三级联动效果
Sep 05 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表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
php中filter_input函数用法分析
2014/11/15 PHP
PHP简单判断手机设备的方法
2016/08/23 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
基于python实现坦克大战游戏
2020/10/27 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
会计专业应届生自荐信
2014/06/28 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
基层党组织整改方案
2014/10/25 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
师德标兵事迹材料
2014/12/19 职场文书
初二学生评语大全
2014/12/26 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
党员年终个人总结
2015/02/14 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
mysql中整数数据类型tinyint详解
2021/12/06 MySQL
Java异常处理try catch的基本用法
2021/12/06 Java/Android
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript