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技巧
Dec 06 Javascript
window.location.hash 属性使用说明
Mar 20 Javascript
JS异常处理的一个想法(sofish)
Mar 14 Javascript
JS 仿腾讯发表微博的效果代码
Dec 25 Javascript
Markdown+Bootstrap图片自适应属性详解
May 21 Javascript
WEB开发之注册页面验证码倒计时代码的实现
Dec 15 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
Jan 23 Javascript
Vue.js数据绑定之data属性
Jul 07 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
Sep 19 Javascript
在移动端使用vue-router和keep-alive的方法示例
Dec 02 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
Jul 23 Javascript
JavaScript圣杯布局与双飞翼布局实现案例详解
Aug 05 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实现删除空目录的方法
2015/03/16 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
javascript中的对象创建 实例附注释
2011/02/08 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
bootstrap Table实现合并相同行
2019/07/19 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
vue 组件简介
2020/07/31 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
python机器学习库常用汇总
2017/11/15 Python
python实现用户答题功能
2018/01/17 Python
python 自定义对象的打印方法
2019/01/12 Python
详解Python self 参数
2019/08/30 Python
python绘制雪景图
2019/12/16 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
Django实现任意文件上传(最简单的方法)
2020/06/03 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
django使用多个数据库的方法实例
2021/03/04 Python
服装机修工岗位职责
2013/12/26 职场文书
入党思想汇报
2014/01/05 职场文书
超市5.1促销活动
2014/01/15 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
《画》教学反思
2014/04/14 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
税务会计岗位职责
2015/04/02 职场文书