Posted in Javascript onOctober 02, 2008
(function($){ $.fn.extend({ selectColor:function(){ var _d = new Date(); var _tem = _d.getTime(); return this.each(function(){ var showColor = function(_obj){ var _left = parseInt($(_obj).offset().left); var _top = parseInt($(_obj).offset().top); var _width = parseInt($(_obj).width()); var _height = parseInt($(_obj).height()); var _maxindex = function(){ var ___index = 0; $.each($("*"),function(i,n){ var __tem = $(n).css("z-index"); if(__tem>0) { if(__tem > ___index) { ___index = __tem + 1; } } }); return ___index; }(); var colorH = new Array('00','33','66','99','CC','FF'); var ScolorH = new Array('FF0000','00FF00','0000FF','FFFF00','00FFFF','FF00FF'); var _str = new Array(); for(var n = 0 ; n < 6 ; n++) { _str.push('<tr height="11">'); _str.push('<td style="width:11px;background-color:#'+colorH[n]+colorH[n]+colorH[n]+'"></td>'); for(var i = 0 ; i < 3; i++) { for(var j = 0 ; j < 6 ; j++) { _str.push('<td style="width:11px;background-color:#'+colorH[i]+colorH[j]+colorH[n]+'"></td>'); } } _str.push('</tr>'); } for(var n = 0 ; n < 6 ; n++) { _str.push('<tr height="11">'); _str.push('<td style="width:11px;background-color:#'+ScolorH[n]+'"></td>') for(var i = 3 ; i < 6; i++) { for(var j = 0 ; j < 6 ; j++) { _str.push('<td style="width:11px;background-color:#'+colorH[i]+colorH[j]+colorH[n]+'"></td>'); } } _str.push('</tr>'); } var colorStr = '<div id="colorShowDiv_'+_tem+'" style="width:229px;position:absolute;z-index:'+_maxindex+';left:'+(_left+_width)+'px;top:'+(_top+_height)+'px;"><table style="width:100%; height:30px; background-color:#CCCCCC;"><tr><td style="width:40%;"><div id="colorShow_'+_tem+'" style="width:80px; height:18px; border:solid 1px #000000; background-color:#FFFFFF;"></div></td><td style="width:60%;"><input id="color_txt_'+_tem+'" type="text" style="width:100px; height:16px;" value="#FFFFFF" /></td></tr></table><table id="colorShowTable_'+_tem+'" cellpadding="0" cellspacing="1" style="background-color:#000000;">'+_str.join('')+'</table></div>' $("body").append(colorStr); var _currColor; var _currColor2; $("#colorShowTable_"+_tem+" td").mouseover(function(){ var _color = $(this).css("background-color"); if(_color.indexOf("rgb")>=0) { var _tmeColor = _color; _tmeColor = _color.replace("rgb",""); _tmeColor = _tmeColor.replace("(",""); _tmeColor = _tmeColor.replace(")",""); _tmeColor = _tmeColor.replace(new RegExp(" ","gm"),""); var _arr = _tmeColor.split(","); var _tmeColorStr = "#"; for(var ii = 0 ; ii < _arr.length ; ii++) { var _temstr = parseInt(_arr[ii]).toString(16); _temstr = _temstr.length < 2 ? "0"+_temstr : _temstr; _tmeColorStr += _temstr; } } $("#color_txt_"+_tem).val(_tmeColorStr); $("#colorShow_"+_tem).css("background-color",_color); _currColor = _color; _currColor2 = _tmeColorStr; $(this).css("background-color","#FFFFFF"); }); $("#colorShowTable_"+_tem+" td").mouseout(function(){ $(this).css("background-color",_currColor); }); $("#colorShowTable_"+_tem+" td").click(function(){ $(_obj).val(_currColor2); }); } $(this).click(function(){ showColor(this); }); var _sobj = this; $(document).click(function(e){ e = e ? e : window.event; var tag = e.srcElement || e.target; if(_sobj.id==tag.id)return; var _temObj = tag; while(_temObj) { if(_temObj.id=="colorShowDiv_"+_tem)return; _temObj = _temObj.parentNode; } $("#colorShowDiv_"+_tem).remove(); }); }); } }); })(jQuery);
使用方法:
$(document).ready(function(){ $("#要绑定的ID").selectColor(); });
注意:要绑定的对像一定要是文本输入框
jquery的颜色选择插件实例代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@