Javacript实现颜色梯度变化和渐变的效果代码


Posted in Javascript onMay 31, 2013

对于本站的导航栏,想做点什么。所以,选择了用js对导航栏的颜色做了梯度的变化处理。
起初,觉得用opacity属性(透明度)来改变颜色的梯度变化。不过,这样会出现一个问题。
每一个导航标签用的是[li],当鼠标浮动到标签上时,通过onmouseover()立即改变[li]的className,并用setInterval()来使其opacity(透明度)由0变到1.不过,当鼠标离开时,对于[li]标签的颜色恢复的处理貌似麻烦了许多。所以,很快就放弃了这个做法,换种思路。

到百度上一搜,看到了一篇很好的文章,地址为http://www.cnblogs.com/cloudgamer/archive/
2009/03/11/color.html。随之,进行了简化,找到了解决的办法。

不如首先通过两个颜色值,比如"#FFFFFF"、"#CCCCCC",其中一个为起始颜色,另一个为终止颜色。通过处理,获取两种颜色在变化时的各种颜色字符串,并且字符串的个数,即获取的频率可以调节。返回给某个数组变量,代码如下:

/** 
* @Desc 该文件是改变颜色梯度的库 - colorGrad.js 
* @Author GenialX 
* @Date 2013.05.30 
* @QQ 2252065614 
* @URL http://www.ihuxu.com 
*/ /** 
* 改变颜色的入口函数 
* beginColor/endColor均为形如#FFFFFF的十六进制的字符串,rate为渐变的速度 
* @return colorArray数组 形如#FFFFFF的字符串数组 
* 调用格式 changeColor("#FFFFFF","#000000",100); 
*/ 
function getColorArray(bColor,eColor,r){ 
//过渡中的颜色值,比如#FFFFFF 
var curColor = new Object(); 
var beginColor = new Object(); 
var endColor = new Object(); 
var rate = new Object(); 
//得到每个rgb增长的方向。true代表增加,false代表减少 
var isTrue = new Object(); 
var colorArray = new Array(); 
var i = 0;//数组下标 
beginColor = getRGB(bColor);//改变成ogj类型 
endColor = getRGB(eColor);//改变成ogj类型 
curColor = getRGB(bColor); 
rate = getRate(beginColor,endColor,r); 
isTrue = getIsTrue(beginColor,endColor)
Javascript 相关文章推荐
js加解密 脚本解密
Feb 22 Javascript
jquery 框架使用教程 AJAX篇
Oct 11 Javascript
Js 刷新框架页的代码
Apr 13 Javascript
JQuery中form验证出错信息的查看方法
Oct 08 Javascript
jquery制作居中遮罩层效果分享
Feb 21 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
Apr 03 Javascript
JavaScript判断浏览器类型的方法
Feb 10 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 Javascript
vue组件Prop传递数据的实现示例
Aug 17 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
Sep 28 Javascript
javascript对HTML字符转义与反转义
Dec 13 Javascript
layui复选框限制选择个数的方法
Sep 18 Javascript
js 输出内容到新窗口具体实现代码
May 31 #Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
May 31 #Javascript
window.event.keyCode兼容IE和Firefox实现js代码
May 30 #Javascript
js怎么终止程序return不行换jfslk
May 30 #Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
May 30 #Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
May 30 #Javascript
javascript-简单的计算器实现步骤分解(附图)
May 30 #Javascript
You might like
玛琪朵 Macchiato
2021/03/03 咖啡文化
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
原生JS实现图片翻书效果
2017/02/16 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
Python与Redis的连接教程
2015/04/22 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
python format 格式化输出方法
2018/07/16 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
Python-jenkins模块之folder相关操作介绍
2020/05/12 Python
.net C#面试题
2012/08/28 面试题
What is EJB
2016/07/22 面试题
大学自主招生自荐信范文
2014/02/26 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
销售目标责任书
2014/07/23 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
2014年村委会工作总结
2014/11/24 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
mysql 索引合并的使用
2021/08/30 MySQL