界面效果:

插件js代码:

 ;(function ($) {
//122种颜色
var aColors = [
"ff0000", "ffff00", "00ff00", "00ffff", "0000ff", "ff00ff", "ffffff", "eeeeee", "e5e5e5", "dcdcdc", "d2d2d2", "c9c9c9", "bfbfbf", "b5b5b5", "aaaaaa", "a0a0a0",
"e60012", "fff100", "fff100", "00a0e9", "1d2088", "e4007f", "959595", "898989", "7d7d7d", "707070", "626262", "535353", "434343", "313131", "1b1b1b", "000000",
"f29b76", "f6b37f", "facd89", "fff799", "cce198", "acd598", "89c997", "84ccc9", "7ecef4", "88abda", "8c97cb", "8f82bc", "aa89bd", "c490bf", "f19ec2", "f29c9f",
"ec6941", "f19149", "f8b551", "fff45c", "b3d465", "80c269", "32b16c", "13b5b1", "00b7ee", "448aca", "556fb5", "5f52a0", "8957a1", "ae5da1", "ea68a2", "eb6877",
"e60012", "eb6100", "f39800", "fff100", "8fc31f", "22ac38", "009944", "009e96", "00a0e9", "0068b7", "00479d", "1d2088", "601986", "920783", "e4007f", "e5004f",
"a40000", "a84200", "ac6a00", "b7aa00", "638c0b", "097c25", "007130", "00736d", "0075a9", "004986", "002e73", "100964", "440062", "6a005f", "a4005b", "a40035",
"7d0000", "7f2d00", "834e00", "8a8000", "486a00", "005e15", "00561f", "005752", "005982", "003567", "001c58", "03004c", "440062", "500047", "7e0043", "7d0022",
"d1c0a5", "a6937c", "7e6b5a", "59493f", "362e2b", "cfa972", "b28850", "996c33", "81511c", "6a3906"
];
function html() {//128个td;
var tdCount=0,colorCount=aColors.length,bjColor="";
var html = "";
html+="<div id='gysColor'>";
html += "<div class='gysColorTop'><span class='gysColorDisplay'></span><span class='gysColorValue'></span><span class='gysColorClose'>关闭</span></div>";
html += "<table cellpadding='0' cellspacing='0' border='1'>";
for (var tr = 1; tr <= 8; tr++) {
html += "<tr>";
for (var td = 1; td <= 16; td++) {
if(tdCount>=colorCount)
html += "<td style='background-color:#fff;' colorValue='fff'></td>";
else
html+="<td style='background-color:#"+aColors[tdCount]+";' colorValue='"+aColors[tdCount]+"'></td>";
tdCount++;
}
html+="</tr>";
}
html += "</table>";
html += "</div>";
return html;
}
function colorPostion(obj,objColor){
var offset=obj.offset();
var objLeft=offset.left;
var objTop=offset.top;
var objHeight=obj.outerHeight();
var nowTop = objHeight + objTop;
objColor.show().css({left:objLeft+"px",top:nowTop+"px"});
}
var defaults={};
$.fn.gysColor=function(options){
var obj=this;
var currentObj=null;
options=$.extend(defaults,options);
$("body").append(html());
$("#guo").val(html());
var objColor=$("#gysColor");
obj.on("focus",function(){
colorPostion($(this),objColor); currentObj=$(this);
}).on("click",function(){
colorPostion($(this),objColor);currentObj=$(this);
});
objColor.on("click",".gysColorClose",function(){
objColor.hide();
}).on("mouseover","td",function(){
var tdColor=$(this).css("background-color");
$(".gysColorDisplay",objColor).css("background-color",tdColor);
$(".gysColorValue",objColor).html("#"+$(this).attr("colorValue"));
}).on("click","td",function(){
currentObj.val("#"+$(this).attr("colorValue"));
objColor.hide();
}).on("mouseleave",function(){
//$(this).hide();
});
return obj;
}
})(jQuery);

插件css代码:

 #gysColor{ position:absolute;  background-color:#ccc; width:200px; display:none;}
#gysColor .gysColorTop{ width:auto; height:30px;padding-top:5px; border:1px solid black; border-bottom:none; }
#gysColor .gysColorTop span.gysColorDisplay{ width:50px; height:20px; border:1px solid black; display:block; float:left; margin-left:10px;}
#gysColor .gysColorTop span.gysColorValue{ width:70px; height:20px; line-height:20px; float:left; margin-left:10px; display:block; background-color:White;font-family:微软雅黑; font-size:12px; border:1px solid black;}
#gysColor .gysColorTop span.gysColorClose{ display:block; float:right; font-family:微软雅黑; font-size:12px; height:20px; line-height:20px; margin-right:10px; cursor:pointer;}
#gysColor .gysColorTop span.gysColorClose:hover{ color:Blue;}
#gysColor table{ clear:both; width:100%; height:100px; background-color:Black;}

插件的调用:

 $(function () {
$("#guoyansi,#sisi").gysColor({})//.css("background-color","red");;
})

HTML部分:

 <input type="text" id="guoyansi" />
<input type="text" id="sisi" />

自己写的jQuery颜色插件的更多相关文章

  1. 玉渊潭赏樱花有感:从无到有写一个jQuery开源插件

    “玉渊潭公园樱花节”是每年樱花绽放时,都会在玉渊潭公园樱举办樱花节,游客前往玉渊潭公园,可以欣赏到20个品种2000株樱花.2016玉渊潭樱花节时间:3月中旬-4月中旬观赏最佳,2016年3月23日开 ...

  2. 自己写的jQuery放大镜插件效果(二)(采用只有一张图片的思路)

    废话不多说,先看效果图,和上一章节用的是同一个小图片: 这个方法实现的放大有个弊端就是放大倍数设置的过大的话,会带来图片上的模糊.但是图片加载的话要比使用2张图片加载的快很多 插件代码: ; (fun ...

  3. 自己写的jQuery放大镜插件效果(一)(采用一张大图和一张小图片的思路)

    这个思路的方法会带来一个小问题,就是当鼠标放到小图上去时,会开始加载大图片,网速不佳的时候,会出现加载慢的情况.但是放大的效果和你所给出的大图片的清晰度是一样的. 先看效果图: html代码: < ...

  4. Jquery相册插件(开源下载)

    一,导言 上次 “不定义JQuery插件,不要说会JQuery” 的博客写的肤浅,漏洞百出,而且最重要的是从理论上说如何定义一个jQuery插件,没有实质性的写一个jQuery插件出来,这未免是纸上谈 ...

  5. 如何写一个Js上传图片插件。

    项目里面需要一个上传图片的插件,找了半天没有找到满意的,算了 不找了,自己写一个吧,顺便复习一下js方面的知识.完成之后效果还不错,当然还要继续优化,源码在最后. 介绍一种常见的js插件的写法 ; ( ...

  6. 被逼着写的jquery工作日管理日历插件

    因为工作原因,在我刚进入新公司之后,立马要求让我做一个jquery的插件demo.我的天,我面试的可是.net工程师啊.虽然以前接触过js,jquery,但也只是接触过一丢丢啊,没办法,只好硬着头皮上 ...

  7. 如何写一个jquery插件

      本文总结整理一下如何写一个jquery插件?虽然现今各种mvvm框架异常火爆,但是jquery这个陪伴我们成长,给我们带来很多帮助的优秀的库不应该被我们抛弃,写此文章,作为对以往欠下的笔记的补充, ...

  8. jQuery颜色面板插件

    /** * jQuery颜色面板插件 * * 使用方法:input框的id默认为inputObj,button框的id默认为btnObj,也可以自定义aaa,bbb * 1.初始化颜色面板:$.col ...

  9. 深入学习jQuery自定义插件

    原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数);      $(‘#id’).myPlugin(o ...

随机推荐

  1. Gerrit 使用规范

    代码提交要求 一个Commit对应一个修改点(除非是在项目初始阶段或是升级BSP时). 不要随便修改文件的属性.Windows 修改过的文件属性会变成755,上传代码时请注意修改成文件的原属性,可以用 ...

  2. 转:devicePixelRatio和webkitBackingStorePixelRatio

    转:关于canvas在retina屏下绘制文字或图像模糊的解决方案 一.问题描述 最近在鼓捣canvas的时候,发现绘制在canvas上的文字(或图片)在retina屏幕上会出现显示模糊的问题,感觉很 ...

  3. win10系统如何进入BIOS模式

    前言 安装双系统时,一般需要设置一些BOOT的选项值,比如security boot的选项.以前都是重启之后按F2或者F12等进入BIOS模式的, 但是博主按照这种方式没有正确进入,本文就针对这一问题 ...

  4. CodeForces - 325E:The Red Button (哈密尔顿 转 欧拉回路)

    Piegirl found the red button. You have one last chance to change the inevitable end. The circuit und ...

  5. 原生JS 的cookie和jq的cookie,

    COOKIE基础及应用:1.什么是COOKIE==>页面用来保存信息,比如:自动登录,记住用户名2.COOKIE的特性:  --同一个网站中,所有的页面共享同一套cookie  --数量,大小有 ...

  6. 杭电 KazaQ's Socks

    KazaQ wears socks everyday. At the beginning, he has n pairs of socks numbered from 1 to n in his cl ...

  7. Heap Operations 优先队列

    Petya has recently learned data structure named "Binary heap". The heap he is now operatin ...

  8. hdu 5311(暴力)

    题意:要求在一个字符串中找出三段,然后能拼成一个固定的单词,问是否可行 BC周年庆第二题,我枚举了那个单词的切断位置,然后到给的字符串里分别找,然后就没有然后了``` #include<stdi ...

  9. layer关闭弹出层总结

    //关闭方法1 layer提供了5种层类型.可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层). 若你采用layer.open({type: 1})方式调用, ...

  10. LG1801 【黑匣子_NOI导刊2010提高(06)】

    看到各路dalao用平衡树的做法,表示本人不才,并不会. 然而我会优先队列_huaji_,并且发现用堆解题的dalao们并没有基于在线的做法 于是我的showtime到了 评测结果:https://w ...