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 相关文章推荐
addEventListener()第三个参数useCapture (Boolean)详细解析
Nov 07 Javascript
js 动态修改css文件的方法
Aug 05 Javascript
JavaScript操作Cookie详解
Feb 28 Javascript
Javascript获取统一管理的提示语(message)
Feb 03 Javascript
JS组件Bootstrap Select2使用方法解析
May 30 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
Aug 24 Javascript
vue.js 表格分页ajax 异步加载数据
Oct 18 Javascript
jQuery中 $ 符号的冲突问题及解决方案
Nov 04 Javascript
浅谈vue中.vue文件解析流程
Apr 24 Javascript
vue-cli3.X快速创建项目的方法步骤
Nov 14 Javascript
vue vant Area组件使用详解
Dec 09 Javascript
js实现网页版贪吃蛇游戏
Feb 22 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 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
php 获取SWF动画截图示例代码
2014/02/10 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
php实现base64图片上传方式实例代码
2017/02/22 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
python flask实现分页的示例代码
2018/08/02 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
Python3.4解释器用法简单示例
2019/03/22 Python
python网络应用开发知识点浅析
2019/05/28 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
django-初始配置(纯手写)详解
2019/07/30 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
运动会解说词100字
2014/01/31 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
投标服务承诺书
2014/05/28 职场文书
中小学校园安全广播稿
2014/09/29 职场文书
公务员年度考核评语
2014/12/31 职场文书
颐和园导游词
2015/01/30 职场文书
食品安全责任书范本
2015/05/09 职场文书
换届选举主持词
2015/07/03 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python