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使用数组编写图片无缝向左滚动
Dec 11 Javascript
浅析js中substring和substr的方法
Nov 09 Javascript
js获取元素的标签名实现方法
Oct 08 Javascript
KnockoutJS 3.X API 第四章之click绑定
Oct 10 Javascript
Vue.js快速入门实例教程
Oct 15 Javascript
JavaScript中数组的各种操作的总结(必看篇)
Feb 13 Javascript
Angular.JS通过指令操作DOM的方法
May 10 Javascript
详解express与koa中间件模式对比
Aug 07 Javascript
jquery检测上传文件大小示例
Apr 26 jQuery
原生js实现简单轮播图
Oct 26 Javascript
小程序实现密码输入框
Nov 16 Javascript
javascript中闭包closure的深入讲解
Mar 03 Javascript
初学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即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
PHP生成及获取JSON文件的方法
2016/08/23 PHP
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
Bootstrap选项卡动态切换效果
2016/11/28 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
Django实现的自定义访问日志模块示例
2017/06/23 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
tensorflow如何批量读取图片
2019/08/29 Python
python argparser的具体使用
2019/11/10 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
Django用户身份验证完成示例代码
2020/04/03 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
学生会招新策划书
2014/02/14 职场文书
《在家里》教后反思
2014/03/01 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
演讲稿格式
2014/04/30 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
大学生逃课检讨书
2015/05/04 职场文书
小孩不笨观后感
2015/06/03 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书