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 - 如何引入js代码
Mar 09 Javascript
JavaScript中的数组特性介绍
Dec 30 Javascript
javascript实现左右控制无缝滚动
Dec 31 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
Mar 27 Javascript
Knockoutjs 学习系列(一)ko初体验
Jun 07 Javascript
jQuery树形控件zTree使用小结
Aug 02 Javascript
vue-awesome-swiper滑块插件使用方法详解
Nov 27 Javascript
Canvas实现微信红包照片效果
Aug 21 Javascript
vue基础之data存储数据及v-for循环用法示例
Mar 08 Javascript
如何用原生js写一个弹窗消息提醒插件
May 24 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
Sep 29 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
Oct 29 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
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
详解jQuery中的prop()使用方法
2020/01/05 jQuery
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
Python实现学生成绩管理系统
2020/04/05 Python
Python定时任务sched模块用法示例
2018/07/16 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
为什么相对PHP黑python的更少
2020/06/21 Python
财务经理的岗位职责
2013/12/17 职场文书
思想品德自我评价
2014/02/04 职场文书
企业业务员岗位职责
2014/03/14 职场文书
协议书怎么写
2014/04/21 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS
详解SQL报错盲注
2022/07/23 SQL Server