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,Angular实现登录界面验证码详解
Apr 27 jQuery
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
jQuery与vue实现拖动验证码功能
Jan 30 jQuery
jQuery+koa2实现简单的Ajax请求的示例
Mar 06 jQuery
jQuery基于闭包实现的显示与隐藏div功能示例
Jun 09 jQuery
jQuery实现获取选中复选框的值实例详解
Jun 28 jQuery
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
jquery中attr、prop、data区别与用法分析
Sep 25 jQuery
jquery制作的移动端购物车效果完整示例
Feb 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
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
探讨:如何使用PhpDocumentor生成文档
2013/06/25 PHP
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
永不消失的title提示代码
2007/02/15 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
详解写好JS条件语句的5条守则
2019/02/28 Javascript
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
python书籍信息爬虫实例
2018/03/19 Python
Django Rest framework三种分页方式详解
2019/07/26 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
儿科护士自我鉴定
2013/10/14 职场文书
初三化学教学反思
2014/01/23 职场文书
钢琴师观后感
2015/06/12 职场文书
房屋质量投诉书
2015/07/02 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
python not运算符的实例用法
2021/06/30 Python
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android