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

时间:2021-05-28

对于本站的导航栏,想做点什么。所以,选择了用js对导航栏的颜色做了梯度的变化处理。
起初,觉得用opacity属性(透明度)来改变颜色的梯度变化。不过,这样会出现一个问题。
每一个导航标签用的是[li],当鼠标浮动到标签上时,通过onmouseover()立即改变[li]的className,并用setInterval()来使其opacity(透明度)由0变到1.不过,当鼠标离开时,对于[li]标签的颜色恢复的处理貌似麻烦了许多。所以,很快就放弃了这个做法,换种思路。

到百度上一搜,看到了一篇很好的文章,地址为http://
*/

/**
* 改变颜色的入口函数
* 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)

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章