对于本站的导航栏,想做点什么。所以,选择了用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)
标签:
Javacript,颜色渐变,梯度

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。