20分求一个颜色叠加的函数 一个函数传入不同颜色值(>2个颜色) 返回一个叠加好的颜色这个颜色是由传入颜色组合来的。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #000和#FFF会叠加成什么颜色。。不解 如何叠加?转成16进制值 再加?还是,按 r g b 各值加? <html><head><title>test</title><style>div{ width:120px; height:120px; border:1px solid #333;}</style></head><body><div></div><div></div><div></div><div></div><script>// 转换颜色值函数 - RGB 分别相加除以2function cColor(color1,color2){ color1 = color1.replace('#','0x'); color2 = color2.replace('#','0x'); var cl1 = {},cl2 = {},getColor = 0x000000; cl1.R = (color1>>16) & 0xFF; cl1.G = (color1>>8) & 0xFF; cl1.B = color1 & 0xFF; cl2.R = (color2>>16) & 0xFF; cl2.G = (color2>>8) & 0xFF; cl2.B = color2 & 0xFF; getColor = (((cl1.R + cl2.R)/2)<<16 | ((cl1.G + cl2.G)/2)<<8 | ((cl1.B + cl2.B)/2)).toString(16); var cArr = ['#']; if(getColor.toString(16).length<6)for(var i = 0,dv = 6 - getColor.toString(16).length;i< dv;i++)cArr.push('0'); cArr.push(getColor); return cArr.join('');}// 转换颜色值函数 - 两颜色相加除以2function cColor1(color1,color2){ color1 = color1.replace('#','0x')|0; color2 = color2.replace('#','0x')|0; getColor = ((color1 + color2)/2).toString(16); var cArr = ['#']; if(getColor.toString(16).length<6)for(var i = 0,dv = 6 - getColor.toString(16).length;i< dv;i++)cArr.push('0'); cArr.push(getColor); return (cArr.join(''));}// 测试var colors = ['#ff0000','#00ff00'];var divs = document.getElementsByTagName('div');divs[0].style.backgroundColor = colors[0];divs[1].style.backgroundColor = colors[1];divs[2].style.backgroundColor = cColor(colors[0],colors[1]);divs[3].style.backgroundColor = cColor1(colors[0],colors[1]);</script></body></html> javascript获取gridview值失败! jquery在this指针下的元素选择器 createRange能截取多少文本内容? 考试系统定时提交表单,时间到达临界点时出现问题!!!!! 问过无数人,现在已是千古之谜了!! 想通过点击按钮,把一个页的其他隐藏内容加载到编辑器 求个正则表达式 SOS!!!紧急求救!!在线苦等!!! 又一个有关IFrame的问题,望各位高手指教 如何判断一窗口是否处于框架中? 下拉菜单 js自动计算 请教 ExtJs 调用 Web service 如何传递 Soap Header ?
<html>
<head>
<title>test</title>
<style>
div{
width:120px;
height:120px;
border:1px solid #333;
}
</style>
</head><body>
<div></div>
<div></div>
<div></div>
<div></div>
<script>
// 转换颜色值函数 - RGB 分别相加除以2
function cColor(color1,color2){
color1 = color1.replace('#','0x');
color2 = color2.replace('#','0x');
var cl1 = {},cl2 = {},getColor = 0x000000;
cl1.R = (color1>>16) & 0xFF;
cl1.G = (color1>>8) & 0xFF;
cl1.B = color1 & 0xFF;
cl2.R = (color2>>16) & 0xFF;
cl2.G = (color2>>8) & 0xFF;
cl2.B = color2 & 0xFF;
getColor = (((cl1.R + cl2.R)/2)<<16 | ((cl1.G + cl2.G)/2)<<8 | ((cl1.B + cl2.B)/2)).toString(16);
var cArr = ['#'];
if(getColor.toString(16).length<6)for(var i = 0,dv = 6 - getColor.toString(16).length;i< dv;i++)cArr.push('0');
cArr.push(getColor);
return cArr.join('');
}
// 转换颜色值函数 - 两颜色相加除以2
function cColor1(color1,color2){
color1 = color1.replace('#','0x')|0;
color2 = color2.replace('#','0x')|0;
getColor = ((color1 + color2)/2).toString(16);
var cArr = ['#'];
if(getColor.toString(16).length<6)for(var i = 0,dv = 6 - getColor.toString(16).length;i< dv;i++)cArr.push('0');
cArr.push(getColor);
return (cArr.join(''));
}
// 测试
var colors = ['#ff0000','#00ff00'];
var divs = document.getElementsByTagName('div');
divs[0].style.backgroundColor = colors[0];
divs[1].style.backgroundColor = colors[1];
divs[2].style.backgroundColor = cColor(colors[0],colors[1]);
divs[3].style.backgroundColor = cColor1(colors[0],colors[1]);
</script>
</body>
</html>