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

 更新时间:2008年10月02日 00:53:43   作者:  
忙了一夜,终于把jquery的颜色选择插件写完了,不多说了,看看代码吧。
复制代码 代码如下:

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

注意:要绑定的对像一定要是文本输入框

相关文章

  • jquery 使用点滴函数代码

    jquery 使用点滴函数代码

    简单的按钮js事件 用于判断和显示提示
    2011-05-05
  • JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载

    JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载

    以前对于JavaScript总是在用到的时候在页面上写几个函数,基本没考虑到函数的封装与重用,最近有个项目可能对于这方面要求有点高,所以就研究了下类似jQuery的封装
    2012-06-06
  • jquery等待效果示例

    jquery等待效果示例

    这篇文章主要介绍了jquery等待效果示例,需要的朋友可以参考下
    2014-05-05
  • jquery获取input表单值的代码

    jquery获取input表单值的代码

    刚开始接触jquery,很多东西不熟悉,对于表单的一些操作收集整理。
    2010-04-04
  • jQuery简单实现中间浮窗效果

    jQuery简单实现中间浮窗效果

    这篇文章主要介绍了jQuery简单实现中间浮窗效果,涉及jQuery事件响应及动态操作页面元素属性的相关技巧,需要的朋友可以参考下
    2016-09-09
  • 基于JQuery实现的Select级联

    基于JQuery实现的Select级联

    Select级联,想必大并不陌生吧,本文为大家介绍下使用jquery是如何快速实现的,希望对大家有所帮助
    2014-01-01
  • jquery插件制作 表单验证实现代码

    jquery插件制作 表单验证实现代码

    今天的内容是关于表单验证插件的制作。表单验证控件实现的主要功能是,当表单提交的时候检查必填项是否正确填写,同时根据需要验证输入信息是否符合规范
    2012-08-08
  • jQuery中removeProp()方法用法实例

    jQuery中removeProp()方法用法实例

    这篇文章主要介绍了jQuery中removeProp()方法用法,实例分析了removeProp()方法的功能、定义及删除由prop()方法设置的属性时的使用技巧,需要的朋友可以参考下
    2015-01-01
  • 初窥JQuery(二) 事件机制(1)

    初窥JQuery(二) 事件机制(1)

    JQuery的事件处理机制在JQuery框架中起着重要的左右,它就像电视机的开关,我们打开电视机的开关才能看到各个电视台精彩的节目,那么我们使用JQuery的事件处理机制就可以创造我们自定义的行为,比如说提交、改变样式、效果显示等等,使我们的网页更加丰富。
    2010-11-11
  • jquery异步请求实例代码

    jquery异步请求实例代码

    jquery异步请求实例代码,需要的朋友可以参考下。
    2011-06-06

最新评论