js 颜色选择器
/* ┌─ 深度学习(js)颜色选择器 ────────────────────┐ │ colorPicker │ 感谢你使用 深度学习(js)颜色选择器 │ 本代码完全公开和免费,你可以任意复制、传播、修改和使用, │ 但不得公开发表代码 不得用做商业用途,不得向其他使用者收费。 │ 使用时,请保留此段信息,谢谢配合 │ 作者:吕海鹏 2008-5-29 └────────────────── www.DeepTeach.com ───┘ 【安装使用】 1、先将js文件拷贝到您网站的目录,不需要做任何修改 范例如:根目录下位置:/js/Deepteach_colorPicker.js 2、在需要调用html标签 id="colorPicker",范例如:<input type="text" id="colorPicker" /> 3、在调用html标签的后边调用Deepteach_colorPicker.js,范例如:<script type="text/javascript" src="js/Deepteach_colorPicker.js"></script> */ //div层 document.write ("<div id='colorPopup' style=' position:absolute; z-index:100; display:none; '></div> "); var oColorPopup=document.getElementById("colorPopup"); var oColorPicker=document.getElementById("colorPicker"); //在div层内显示颜色选择器函数(main) function showColorPicker() { //判断选择器是否显示 if(oColorPopup.style.display=="none") { //获取鼠标的坐标值 for IE、Firefox window.document.onclick=function(evt){ //evt=evt || window.event; evt = evt ? evt : (window.event ? window.event : null); oColorPopup.style.left=evt.clientX+"px"; oColorPopup.style.top=evt.clientY+"px"; window.document.onclick=null; } oColorPopup.style.display="block"; } else { oColorPopup.style.display="none"; } initColor(); } // 初始化颜色选择器函数 function initColor(){ var baseColorHex=new Array('00','33','66','99','CC','FF'); //256色的颜色是用00,33,66,99,cc,ff组成 var SpColorHex=new Array('000000','333333','666666','999999','cccccc','FFFFFF', 'FF0000','00FF00','0000FF','FFFF00','00FFFF','FF00FF' ); var colorRGB =""; var sColorPopup; sColorPopup="<table width='260' border='1' cellPadding=1 cellSpacing=0 bordercolordark='#ffffff' bordercolorlight='#000000' bgcolor='#cccccc' title='深度学习(js)颜色选择器' ><tr><td>"; sColorPopup+="<input id='colorDis' style='width:50px;border:solid 1px #000000;background-color:#ffff00;margin-left:3px' disabled title='当前颜色' />"; sColorPopup+=" <input id='colorHexDis' style='width:70px;border:inset 1px;font-family:Arial;' type='text' value='#FFFF00' readonly title='当前颜色16进制值'/>"; sColorPopup+="<input type='button' style='border:outset 1px;font-family:Arial;font-size:12px;line-height:12px;width:15px;height:15px;margin-left:105px;margin-bottom:3px;cursor:pointer;' value='X' onclick='doClose()' title='关闭颜色选择器' />"; sColorPopup+="</td></tr><tr><td>"; sColorPopup+="<table border='0' cellpadding='0' cellspacing='0' align='center' ><tr><td bgcolor='#000000' width='30'>";//1行2列 //竖 start sColorPopup+="<table border='0' cellpadding='0' cellspacing='1' bgcolor='#000000' align='center' >"; //第1列 for(i=0;i<12;i++) { sColorPopup+="<tr height='12'>"; colorRGB=SpColorHex[i]; sColorPopup+="<td width='12' onmouseover='currentColor(this.bgColor)' onclick='clickColor(this.bgColor)' bgColor='"+colorRGB+"' style='cursor:pointer;' title='点击选择颜色"+colorRGB+"'></td>"; sColorPopup+="</tr>"; } sColorPopup+="</table>"; //竖 end sColorPopup+="</td><td>"; sColorPopup+="<table border='0' cellpadding='0' cellspacing='1' bgcolor=#000000 align='center' >"; //第2列 for(n=0;n<2;n++){ //循环2块 for(i=0;i<6;i++) { //每块6行 sColorPopup+="<tr height=12>"; for(j=0+3*n;j<3+3*n;j++) { for(k=0;k<6;k++) { colorRGB=baseColorHex[j]+baseColorHex[k]+baseColorHex[i]; sColorPopup+="<td width='12' onmouseover='currentColor(this.bgColor)' onclick='clickColor(this.bgColor)' bgColor='"+colorRGB+"' style='cursor:pointer;' title='点击选择颜色"+colorRGB+"'></td>"; } } sColorPopup+="</tr>"; } } sColorPopup+="</table>"; sColorPopup+="</td></tr></table>"; sColorPopup+="</td></tr></table>"; oColorPopup.innerHTML=sColorPopup; } //当前颜色块函数 function currentColor(colorStr) { document.getElementById("colorDis").style.backgroundColor=colorStr; document.getElementById("colorHexDis").value=colorStr.toUpperCase(); //toUpperCase()方法将颜色值大写 } //点击选择颜色函数 function clickColor(colorStr) { oColorPicker.style.backgroundColor=colorStr; oColorPicker.value=colorStr; oColorPopup.style.display="none"; } //关闭颜色选择器函数 function doClose() { oColorPopup.style.display="none"; } //oColorPicker对象 绑定事件处理函数 oColorPicker.onclick=showColorPicker;
2.颜色拾取器是免费的,只有6kb。他的核心是jQuery.他的使用方法是转换class为"iColorPicker?"的input field将其转换为颜色拾取器。
地址:
http://www.supersite.me/website-building/jquery-free-color-picker/
使用方法非常简单:
只要你导入了jQuery和iColorPicker?脚本。那么每一个class属性为"iColorPicker?"的输入框将变成漂亮的颜色选择器。
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="iColorPickerLink.js"></script> <input type="text" value="#ffcc00" class="iColorPicker" name="mycolor" id="mycolor" />
重要: 每个输入框必须是唯一的ID。
原理:
在加载js库文件的时候,将自动搜索页面,如果存在 class="iColorPicker?"的输入框,则在body的底部添加两个隐藏的DIV。
分别是 iColorPicker?和iColorPickerBg?.在点击图片的onclick事件中触发iColorShow?方法。它会将iColorPicker?显示出来,而将
iColorPickerBg?遮盖住其他地区。