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 相关文章推荐
通过jquery实现tab标签浏览效果
Feb 20 Javascript
JavaScript Perfection kill 测试及答案
Mar 23 Javascript
JQuery设置时间段下拉选择实例
Dec 30 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
Sep 05 Javascript
详解JavaScript函数
Dec 01 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
Sep 05 Javascript
JavaScript之WebSocket技术详解
Nov 18 Javascript
微信小程序 POST请求的实例详解
Sep 29 Javascript
实现elementUI表单的全局验证的方法步骤
Apr 29 Javascript
js 实现ajax发送步骤过程详解
Jul 25 Javascript
浅析 Vue 3.0 的组装式 API(一)
Aug 31 Javascript
微信小程序 接入腾讯地图的两种写法
Jan 12 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
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
python查询sqlite数据表的方法
2015/05/08 Python
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
python动态进度条的实现代码
2019/07/03 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
大学生两会精神学习心得体会
2014/03/10 职场文书
个人银行贷款担保书
2014/04/01 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
时尚女魔头观后感
2015/06/04 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python