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 相关文章推荐
extjs ColumnChart设置不同的颜色实现代码
May 17 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
Jan 03 Javascript
[原创]推荐10款最热门jQuery UI框架
Aug 19 Javascript
node.js下LDAP查询实例分享
Sep 30 Javascript
jQuery中deferred对象使用方法详解
Jul 14 Javascript
json定义及jquery操作json的方法
Sep 29 Javascript
ReactNative中使用Redux架构总结
Dec 15 Javascript
微信小程序scroll-view的滚动条设置实现
Mar 02 Javascript
Javascript异步编程async实现过程详解
Apr 02 Javascript
JS实现横向跑马灯效果代码
Apr 20 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
Oct 27 Javascript
Vue3 实现双盒子定位Overlay的示例
Dec 22 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
关于文本留言本的分页代码
2006/10/09 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
在模板页面的js使用办法
2010/04/01 Javascript
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
AngularJS+Bootstrap实现多文件上传与管理
2016/11/08 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
微信小程序实现根据字母选择城市功能
2017/08/16 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
Python冒泡排序注意要点实例详解
2016/09/09 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
python使用Matplotlib画条形图
2020/03/25 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
Python列表list操作相关知识小结
2020/01/29 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
英文求职信结束语大全
2013/10/26 职场文书
2015中学教学工作总结
2015/07/22 职场文书
pytorch显存一直变大的解决方案
2021/04/08 Python
python自动计算图像数据集的RGB均值
2021/06/18 Python