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 相关文章推荐
javascript 通用简单的table选项卡实现
May 07 Javascript
JavaScript中json使用自己总结
Aug 13 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
Mar 01 Javascript
详解JavaScript逻辑And运算符
Dec 04 Javascript
js 原型对象和原型链理解
Feb 09 Javascript
一文让你彻底搞清楚javascript中的require、import与export
Sep 24 Javascript
jQuery EasyUI开发技巧总结
Sep 26 jQuery
ui-router中使用ocLazyLoad和resolve的具体方法
Oct 18 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
vuejs前后端数据交互之从后端请求数据的实例
Aug 11 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
Aug 28 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
Sep 22 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
jquery树形菜单效果的简单实例
2016/06/06 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
js数组与字符串常用方法总结
2017/01/13 Javascript
基于jQuery实现的打字机效果
2017/01/16 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
深入理解JavaScript继承的多种方式和优缺点
2017/05/12 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
python利用requests库进行接口测试的方法详解
2018/07/06 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
解决Python安装cryptography报错问题
2020/09/03 Python
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
素质教育标语
2014/06/27 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
爱国主题班会教案
2015/08/14 职场文书
Redis keys命令的具体使用
2022/06/05 Redis