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 相关文章推荐
动态加载js文件 document.createElement
Oct 14 Javascript
关于javascript中的parseInt使用技巧
Sep 03 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
Nov 05 Javascript
jquery插件star-rating.js实现星级评分特效
Apr 15 Javascript
jQuery标签编辑插件Tagit使用指南
Apr 21 Javascript
js仿苹果iwatch外观的计时器代码分享
Aug 26 Javascript
基于javascript制作微信聊天面板
Aug 09 Javascript
jQuery调用Webservice传递json数组的方法
Aug 06 Javascript
canvas实现手机端用来上传用户头像的代码
Oct 20 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
Oct 21 Javascript
详解vue中axios的封装
Jul 18 Javascript
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
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
我的论坛源代码(九)
2006/10/09 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
django如何实现视图重定向
2019/07/24 Python
python 字符串常用方法汇总详解
2019/09/16 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
python实现UDP协议下的文件传输
2020/03/20 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
教师批评与自我批评
2014/10/15 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL