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 相关文章推荐
实现超用户体验 table排序javascript实现代码
Jun 22 Javascript
jQuery创建插件的代码分析
Apr 14 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
Aug 12 Javascript
JS实现为排序好的字符串找出重复行的方法
Mar 02 Javascript
jQuery可见性过滤选择器用法示例
Sep 09 Javascript
Vue表单验证插件的制作过程
Apr 01 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
Jun 12 Javascript
axios发送post请求springMVC接收不到参数的解决方法
Mar 05 Javascript
JavaScript中七种流行的开源机器学习框架
Oct 11 Javascript
用Vue编写抽象组件的方法
May 06 Javascript
vue h5移动端禁止缩放代码
Oct 28 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安装攻略:常见问题解答(一)
2006/10/09 PHP
深入浅出php socket编程
2015/05/13 PHP
微信利用PHP创建自定义菜单的方法
2016/08/01 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
JavaScript中的prototype原型学习指南
2016/05/09 Javascript
谈一谈bootstrap响应式布局
2016/05/23 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
清空元素html("") innerHTML="" 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
详解小程序云开发数据库
2019/05/20 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
pygame加载中文名mp3文件出现error
2017/03/31 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
css3中用animation的steps属性制作帧动画
2019/04/25 HTML / CSS
应届大学生的推荐信
2013/11/20 职场文书
西式婚礼证婚词
2014/01/12 职场文书
大学班长的职责
2014/01/27 职场文书
小班上学期评语
2014/05/05 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
庆七一宣传标语
2014/10/08 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
病假证明模板
2015/06/19 职场文书
《窃读记》教学反思
2016/02/18 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL