js color 选择器

var PickColor = {
 input:null,
 cswatch : [
     [ '000000', '111111', '2d2d2d', '434343', '5b5b5b', '737373', '8b8b8b', 'a2a2a2', 'b9b9b9', 'd0d0d0', 'e6e6e6', 'ffffff' ],
     [ '7f7f00', 'bfbf00', 'ffff00', 'ffff40', 'ffff80', 'ffffbf', '525330', '898a49', 'aea945', 'c3be71', 'e0dcaa', 'fcfae1' ],
     [ '407f00', '60bf00', '80ff00', 'a0ff40', 'c0ff80', 'dfffbf', '3b5738', '668f5a', '7f9757', '8a9b55', 'b7c296', 'e6ebd5' ],
     [ '007f40', '00bf60', '00ff80', '40ffa0', '80ffc0', 'bfffdf', '033d21', '438059', '7fa37c', '8dae94', 'acc6b5', 'ddebe2' ],
     [ '007f7f', '00bfbf', '00ffff', '40ffff', '80ffff', 'bfffff', '033d3d', '347d7e', '609a9f', '96bdc4', 'b5d1d7', 'e2f1f4' ],
     [ '00407f', '0060bf', '0080ff', '40a0ff', '80c0ff', 'bfdfff', '1b2c48', '385376', '57708f', '7792ac', 'a8bed1', 'deebf6' ],
     [ '00007f', '0000bf', '0000ff', '4040ff', '8080ff', 'bfbfff', '212143', '373e68', '444f75', '585e82', '8687a4', 'd2d1e1' ],
     [ '40007f', '6000bf', '8000ff', 'a040ff', 'c080ff', 'dfbfff', '302449', '54466f', '655a7f', '726284', '9e8fa9', 'dcd1df' ],
     [ '7f007f', 'bf00bf', 'ff00ff', 'ff40ff', 'ff80ff', 'ffbfff', '4a234a', '794a72', '936386', '9d7292', 'c0a0b6', 'ecdae5' ],
     [ '7f003f', 'bf005f', 'ff007f', 'ff409f', 'ff80bf', 'ffbfdf', '451528', '823857', 'a94a76', 'bc6f95', 'd8a5bb', 'f7dde9' ],
     [ '800000', 'c00000', 'ff0000', 'ff4040', 'ff8080', 'ffc0c0', '441415', '82393c', 'aa4d4e', 'bc6e6e', 'd8a3a4', 'f8dddd' ],
     [ '7f3f00', 'bf5f00', 'ff7f00', 'ff9f40', 'ffbf80', 'ffdfbf', '482c1b', '855a40', 'b27c51', 'c49b71', 'e1c4a8', 'fdeee0' ]
 ],
 
 init:function(input){
  var left=-10000, top=-10000, color='#ffffff';
  
  if (input){
   if($(input).attr('type').toLowerCase() == 'button'){
    input = $(input).prev('input');
   }else if($(input).attr('type').toLowerCase() == 'text'){
    input = $(input);
   }else{
    return alert('error');
   }
   
   this.input = input;
   top = input.offset().top + 22;
   left = input.offset().left + 2;
   color = input.val();
  }
  $("#PickColorTable_oldColor").css('background-color', color);
  if ($('#PickColorTable').length > 0){
   $('#PickColorTable').css({left:left, top:top}).show();
   return ;
  }
  
  html = '<div id="PickColorTable" style="position:absolute;display:none;border:3px solid #d0d0d0;background-color:#ffffff">'
   +' <table width="168" height="168" border="0" cellspacing="0" cellpadding="0">';
  for (i=0; i<12; i++) {
   html += "<tr>";
   for (ii=0; ii<12; ii++) {
    html += '<td valign="top" width="12" height="12" style="cursor:pointer;border:1px solid white;background-color:#'+this.cswatch[i][ii]+'"'
     + ' onmouseover="PickColor.mouseover(this)" '
     + ' onmouseout="PickColor.mouseout(this)" '
     + ' onclick="PickColor.get(this, '#'+this.cswatch[i][ii]+'');return false;"></td>';
   }
   html += '</tr>';
  }
  html += '<tr><td colspan="4" id="PickColorTable_oldColor" style="background-color:'+color+'"></td><td colspan="4" id="PickColorTable_newColor"></td><td colspan="2"></td>'
   + '<td colspan="2" align="center"><img src="style/default/close.jpg" style="cursor:pointer" onclick="PickColor.hide()"></td></tr>'
   + '</table></div>';
  $("body").append(html);
  $('#PickColorTable').css({left:left, top:top}).show();
 },
 
 mouseover:function(E){
  $(E).css('border', '1px inset black');
  $("#PickColorTable_newColor").css('background-color', $(E).css('background-color'));
 },
 
 mouseout:function(E){
  $(E).css('border', '1px solid white');
 },
 
 get:function(E, color){
  this.input.val(color);
  this.input.next('input').css('background-color', color);
  this.hide();
 },
 
 hide:function(){
  $('#PickColorTable').hide();
  $("#PickColorTable_newColor").css('background-color', '#ffffff');
 },
 
 change:function(color){
  this.input.next('input').css('background-color', color);
 },
 
 keyup:function(color){
  if ($.browser.msie || !color) return false;
  this.input.next('input').css('background-color', color);
  $("#PickColorTable_oldColor").css('background-color', color);
 }
}

时间: 2024-09-20 21:29:15

js color 选择器的相关文章

Js日期选择器并自动加入到输入框中示例代码

Js日期选择器点击并自动加入到输入框中方便输入,不可多得,具体实现如下,感兴趣的朋友可以参考下   复制代码 代码如下: <html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <script type="text/ja

Js日期选择器并自动加入到输入框中示例代码_javascript技巧

复制代码 代码如下: <html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <script type="text/javascript"> var gMonths=new Array("一月&

JS时间选择器 兼容IE6,7,8,9_时间日期

在线演示: http://demo.jb51.net/js/2012/js_date/ 复制代码 代码如下: <html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <script type="text/javascri

javascript-求一个展开的js日历选择器

问题描述 求一个展开的js日历选择器 求一个展开的js日历选择器,看仔细,是展开的日历控件,不是文本框日历选择器 解决方案 jquery自己有啊.搜索万年历插件 解决方案二: 展开?什么意思?直接显示在页面上,不需要点击? fullcalendar或者easyui 解决方案三: 输入框JS日历选择器

js 颜色选择器(兼容firefox)_页面背景

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

js 日历选择器代码

function PopupCalendar(InstanceName) {  ///Global Tag  this.instanceName=InstanceName;  ///Properties  this.separator="-"  this.oBtnTodayTitle="Today"  this.oBtnCancelTitle="Cancel"  this.weekDaySting=new Array("S",

js 色彩选择器代码

function setPointer(theRow, theAction) {     var theCells = null;     var theDefaultColor = '#ffffff', thePointerColor = '#D5DFF4', theMarkColor = '#EAF3E9';     // 1. Pointer and mark feature are disabled or the browser can't get the     //    row -

js日期选择器

已通过测试的浏览器:IE6.IE7.FF 编码存储域: 城市1:有指定默认城市列表,选择完成后自动跳转到下一城市选择对象 城市2:未指定默认城市列表,未指定城市值存储域,设置了每页显示城市数量为5个 日期1: 当前日期为最后可用日期,该项选择完成后自动跳转到下一日期项 日期2: 上一关联日期为最终可用日期 日期3: 无任何限制,所有日期均可用 日期4: 点相关图标或按钮选择日期 测试覆盖:测试层是否能盖住下拉菜单 在日历中点击已选日期,自动切换取消选择. www.111cn.net

js 颜色选择器代码

简单的颜色设置器 设置背景颜色: 设置文本颜色: