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 相关文章推荐
jquery 实现的全选和反选
Apr 15 Javascript
Script标签与访问HTML页面详解
Jan 10 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
Jun 14 Javascript
PHP+mysql+Highcharts生成饼状图
May 04 Javascript
基于replaceChild制作简单的吞噬特效
Sep 21 Javascript
vue.js入门教程之绑定class和style样式
Sep 02 Javascript
微信小程序 UI布局常用技巧整理总结
Dec 05 Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 Javascript
详解如何用babel转换es6的class语法
Apr 03 Javascript
vue自定义tap指令及tap事件的实现
Sep 18 Javascript
动态内存分配导致影响Javascript性能的问题
Dec 18 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 jQuery
初学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数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
2017/01/21 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
ES6如何用一句代码实现函数的柯里化
2020/01/18 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
Python中存取文件的4种不同操作
2018/07/02 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
PHP统计代码行数的小代码
2019/09/19 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
什么是事务?事务有哪些性质?
2012/03/11 面试题
项目经理的岗位职责
2013/11/23 职场文书
工业设计专业个人求职信范文
2013/12/28 职场文书
坚定理想信念心得体会
2014/03/11 职场文书
地球一小时活动总结
2015/02/27 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android
python数字图像处理之图像的批量处理
2022/06/28 Python