Javacript实现颜色梯度变化和渐变的效果代码

 更新时间:2013年05月31日 17:24:59   作者:  
用js对导航栏的颜色做了梯度的变化处理,通过处理..获取两种颜色在变化时的各种颜色字符串,并且字符串的个数,即获取的频率可以调节
对于本站的导航栏,想做点什么。所以,选择了用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)

相关文章

  • 纯js实现背景图片切换效果代码

    纯js实现背景图片切换效果代码

    现在纯粹用js的人越来越少了,更多的人喜欢jquery,可使我还是喜欢javascript,下面给出一个用javascript写的背景切换的小例子,各位大虾不要骂,只是写给自己看的,也供js事件的产考依据。
    2010-11-11
  • javascript 数组排序函数sort和reverse使用介绍

    javascript 数组排序函数sort和reverse使用介绍

    reverse方法将一个Array对象中的元素位置进行反转,sort方法返回一个元素已经进行了排序的 Array 对象,下面为大家介绍下
    2013-11-11
  • js中易弄混淆的"位置"相关属性详解

    js中易弄混淆的"位置"相关属性详解

    js中有各种位置相关的属性,平时用起来比较混乱,特此整理一下,下面这篇文章主要给大家介绍了关于js中易弄混淆的“位置”相关属性的相关资料,需要的朋友可以参考下
    2022-04-04
  • JS的事件循环执行机制详解

    JS的事件循环执行机制详解

    JS执行是单线程的,它是基于事件循环的,那么本篇博文就来分享一下关于JS的事件循环执行机制,感兴趣的小伙伴可以跟着小编一起来学习
    2023-05-05
  • uniapp实现app热更新的方法

    uniapp实现app热更新的方法

    本文主要介绍了uniapp实现app热更新的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • js解决select下拉选不中问题

    js解决select下拉选不中问题

    当事件mouseover中出现select下拉框时,select下拉是选不中的,下面有个不错的解决方法,大家可以看看
    2014-10-10
  • js中关于new Object时传参的一些细节分析

    js中关于new Object时传参的一些细节分析

    这里讨论给Object传参时,其内部的处理。参考:ECMA262 V5 15.2.2.1
    2011-03-03
  • Openlayers实现距离面积测量

    Openlayers实现距离面积测量

    这篇文章主要为大家详细介绍了Openlayers实现距离面积测量,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • JS实现颜色梯度与渐变效果完整实例

    JS实现颜色梯度与渐变效果完整实例

    这篇文章主要介绍了JS实现颜色梯度与渐变效果,结合完整实例形式分析了js颜色渐变所涉及的数学运算与页面样式动态操作相关技巧,需要的朋友可以参考下
    2016-12-12
  • js添加元素的简单方式示例

    js添加元素的简单方式示例

    这篇文章主要给大家介绍了关于js添加元素的简单方式,文中通过代码示例将每种实现的方法都介绍的非常详细,对大家学习或者使用js具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10

最新评论