一个简单的调色版.效果不错.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>红辣椒的调色板</title> <style> table{background:#000;} tr,td{background:#fff; padding: 10px;} #colorBoard{position:absolute; padding:10px; width:256px; height:220px; background:#f3f3f3; border:#d9d9d9 1px solid;} #colorBank{ clear:both; border:#d9d9d9 1px solid; background:#FFF; width:252px; padding:0 0 2px 2px; overflow:hidden; margin:0 auto 0 auto;} #colorBank div{ overflow:hidden; height:12px; width:12px; margin:2px 2px 0 0; float:left; overflow:hidden; cursor:pointer;} #colorViews{width:80px; height:20px; float:left;border:#d9d9d9 1px solid; background:#000; display:block; margin: 0 10px 10px 0;} #colorInput{width:70px; height:18px; float:left; font-family:Verdana; font-size:13px; color:#333; display:block; border:none; background:#FFF;border:#d9d9d9 1px solid;margin: 0 10px 10px 0;} #colorClose{width:80px; color:#999999; height:22px; float:left;display:block; background:#f3f3f3;cursor:pointer;border:#d9d9d9 1px solid; border-top:#FFF 1px solid; border-left:#FFF 1px solid;} </style> <script type="text/javascript"> //红辣椒的调色板 function colorSelect(now,page,e){ if(document.getElementById("colorBoard")){ return; } //关于出现位置 e=e||event; var scrollpos = getScrollPos(); var l = scrollpos.l + e.clientX; var t = scrollpos.t + e.clientY + 10; if (l > getBody().clientWidth-253){ l = getBody().clientWidth-253; } //创建DOM var nowColor = document.getElementById(now); var pageColorViews = document.getElementById(page); var ColorHex=new Array('00','33','66','99','CC','FF'); var SpColorHex=new Array('FF0000','00FF00','0000FF','FFFF00','00FFFF','FF00FF'); var colorBank = document.createElement("div"); colorBank.setAttribute("id","colorBank"); var colorViews = document.createElement("div"); colorViews.setAttribute("id","colorViews"); var colorInput = document.createElement("input"); colorInput.setAttribute("id","colorInput"); colorInput.setAttribute("type","text"); colorInput.setAttribute("disabled","disabled"); var colorClose = document.createElement("input"); colorClose.setAttribute("id","colorClose"); colorClose.setAttribute("value","取消"); colorClose.setAttribute("type","button"); colorClose.onclick=function(){document.body.removeChild(colorBoard)}; var colorBoard =document.createElement("div"); colorBoard.id="colorBoard"; colorBoard.style.left = l+"px"; colorBoard.style.top = t+ "px"; colorBoard.appendChild(colorViews); colorBoard.appendChild(colorInput); colorBoard.appendChild(colorClose); colorBoard.appendChild(colorBank); document.body.appendChild(colorBoard); //循环出调色板 for(b=0;b<6;b++){ for(a=0;a<3;a++){ for(i=0;i<6;i++){ colorItem = document.createElement("div"); colorItem.style.backgroundColor="#"+ColorHex[a]+ColorHex[i]+ColorHex[b]; colorBank.appendChild(colorItem); } } } for(b=0;b<6;b++){ for(a=3;a<6;a++){ for(i=0;i<6;i++){ colorItem = document.createElement("div"); colorItem.style.backgroundColor="#"+ColorHex[a]+ColorHex[i]+ColorHex[b]; colorBank.appendChild(colorItem); } } } for(i=0;i<6;i++){ colorItem = document.createElement("div"); colorItem.style.backgroundColor="#"+ColorHex[0]+ColorHex[0]+ColorHex[0]; colorBank.appendChild(colorItem); } for(i=0;i<6;i++){ colorItem = document.createElement("div"); colorItem.style.backgroundColor="#"+ColorHex[i]+ColorHex[i]+ColorHex[i]; colorBank.appendChild(colorItem); } for(i=0;i<6;i++){ colorItem = document.createElement("div"); colorItem.style.backgroundColor="#"+SpColorHex[i]; colorBank.appendChild(colorItem); } var colorItems = colorBank.getElementsByTagName("div"); for(i=0; i<colorItems.length;i++){ colorItems[i].onmouseover = function(){ a = this.style.backgroundColor; if(a.length>7){ a = formatRgb(a);// } colorViews.style.background = a.toUpperCase(); colorInput.value = a.toUpperCase(); } colorItems[i].onclick = function(){ a = this.style.backgroundColor; if(a.length>7){ a = formatRgb(a);// } nowColor.value = a.toUpperCase(); pageColorViews.style.background = a.toUpperCase(); document.body.removeChild(colorBoard); } } } //格式化函数 function formatRgb(rgb){ rgb = rgb.replace("rgb","");rgb = rgb.replace("(","");rgb = rgb.replace(")",""); format = rgb.split(","); a = eval(format[0]).toString(16); b = eval(format[1]).toString(16); c = eval(format[2]).toString(16); rgb = "#"+checkFF(a)+checkFF(b)+checkFF(c); function checkFF(str){ if(str.length == 1){ str = str+""+str; return str; }else{ return str; } } return rgb; } //getBody() function getBody(){ var Body; if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') { Body = document.documentElement; } else if (typeof document.body != 'undefined') { Body = document.body; } return Body; } //scrollPos function getScrollPos(){ var t,l; if (typeof window.pageYOffset != 'undefined'){ t = window.pageYOffset; l = window.pageXOffset; } else{ t = getBody().scrollTop; l = getBody().scrollLeft; } return {t:t,l:l}; } </script> </head> <body> <table width="400" cellpadding="0" cellspacing="1"> <tr> <td><input type="text" value="" id="nowColor" /></td> <td><div id="pageColorViews" style="background:#000; width:30px; height:30px;"></div></td> <td><a href="javascript:;" onclick="colorSelect('nowColor','pageColorViews',event)">点我就出调色板</a></td> </tr> </table> </body> </html>
提示:你可以先修改部分代码再运行。
博客不错,很简洁~
还是屏幕取色器安逸
弄一个复杂的,多点色的,相信很受欢迎,哈哈…
电子邮件地址不会被公开。 必填项已用 * 标注
姓名 *
电子邮件 *
站点
评论
您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
2008/10/12
博客不错,很简洁~
2008/10/10
还是屏幕取色器安逸
2008/10/10
弄一个复杂的,多点色的,相信很受欢迎,哈哈…