jquery的颜色选择插件实例代码


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(); 
});

注意:要绑定的对像一定要是文本输入框
Javascript 相关文章推荐
Prototype 学习 工具函数学习($方法)
Jul 12 Javascript
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
关于Javascript与iframe的那些事儿
Jul 04 Javascript
jQuery实现的多屏图像图层切换效果实例
May 07 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
Jun 01 Javascript
js用类封装pop弹窗组件
Oct 08 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
Nov 10 Javascript
node实现登录图片验证码的示例代码
Apr 20 Javascript
小程序指纹验证的实现代码
Dec 04 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
Jan 17 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
Nov 06 Javascript
vue-cropper插件实现图片截取上传组件封装
May 27 Vue.js
初学JavaScript_03(ExtJs Grid的简单使用)
Oct 02 #Javascript
JavaScript下申明对象的几种方法小结
Oct 02 #Javascript
初学JavaScript第二章
Sep 30 #Javascript
select组合框option的捕捉实例代码
Sep 30 #Javascript
javascript优先加载笔记代码
Sep 30 #Javascript
javascript显示隐藏层比较不错的方法分析
Sep 30 #Javascript
javascript不同页面传值的改进版
Sep 30 #Javascript
You might like
PHP 文章中的远程图片采集到本地的代码
2009/07/30 PHP
PHP Error与Logging函数的深入理解
2013/06/03 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
什么是PHP7中的孤儿进程与僵尸进程
2019/04/14 PHP
学习ExtJS form布局
2009/10/08 Javascript
[原创]推荐10款最热门jQuery UI框架
2014/08/19 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
AngularJS基础 ng-list 指令详解及示例代码
2016/08/02 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
小程序实现多列选择器
2019/02/15 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
python抓取网页内容示例分享
2014/02/24 Python
python定时关机小脚本
2018/06/20 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
浅谈python写入大量文件的问题
2018/11/09 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
房地产项目策划书
2014/02/05 职场文书
一帮一活动总结
2014/05/08 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
企业标语大全
2014/07/01 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
2014年财务部工作总结
2014/11/11 职场文书
党员自我评价范文2015
2015/03/03 职场文书
2015年中学团委工作总结
2015/07/22 职场文书