Javascript简易调色板效果

俺村1枝錵

俺村1枝錵

2016-02-19 20:31

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的Javascript简易调色板效果懂设计的网友们快点来了解吧!

  调用方法:colorSelect('色值输入框ID','显示色值的容器ID',event),调用起来很简单,直接onClick就可以。 感谢:红辣椒

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

!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="Content-Type" content="text/html; charset=utf-8" /
title调色板/title
style
#colorBoard{position:absolute; padding:10px; width:256px; height:220px; background:#f3f3f3; border:#d9d9d9 1px solid;}
#colorBank{ clear:both; border:#d9d9d9 1px solid; background:#FFF; width:252px; padding:0 0 2px 2px; overflow:hidden; margin:0 auto 0 auto;}
#colorBank div{ overflow:hidden; height:12px; width:12px; margin:2px 2px 0 0; float:left; overflow:hidden; cursor:pointer;}
#colorViews{width:80px; height:20px; float:left;border:#d9d9d9 1px solid; background:#000; display:block; margin: 0 10px 10px 0;}
#colorInput{width:70px; height:18px; float:left; font-family:Verdana; font-size:13px; color:#333; display:block; border:none; background:#FFF;border:#d9d9d9 1px solid;margin: 0 10px 10px 0;}
#colorClose{width:80px; color:#999999; height:22px; float:left;display:block; background:#f3f3f3;cursor:pointer;border:#d9d9d9 1px solid; border-top:#FFF 1px solid; border-left:#FFF 1px solid;}
/style
script
function colorSelect(now,page,e){
 if(document.getElementById("colorBoard")){
  return;
 }
 //关于出现位置
 e=e||event;
 var scrollpos = getScrollPos();
 var l = scrollpos.l + e.clientX;
    var t = scrollpos.t + e.clientY + 10;
    if (l getBody().clientWidth-253){
        l = getBody().clientWidth-253;
    }
 //创建DOM
 var nowColor = document.getElementById(now);
 var pageColorViews = document.getElementById(page);
 var ColorHex=new Array('00','33','66','99','CC','FF');
 var SpColorHex=new Array('FF0000','00FF00','0000FF','FFFF00','00FFFF','FF00FF');
 var colorBank = document.createElement("div");
 colorBank.setAttribute("id","colorBank");
 var colorViews = document.createElement("div");
 colorViews.setAttribute("id","colorViews");
 var colorInput = document.createElement("input");
 colorInput.setAttribute("id","colorInput");
 colorInput.setAttribute("type","text");
 colorInput.setAttribute("disabled","disabled");
 var colorClose = document.createElement("input");
 colorClose.setAttribute("id","colorClose");
 colorClose.setAttribute("value","取消");
 colorClose.setAttribute("type","button");
 colorClose.onclick=function(){document.body.removeChild(colorBoard)};
 var colorBoard =document.createElement("div");
 colorBoard.id="colorBoard";
 colorBoard.style.left = l+"px";
 colorBoard.style.top = t+ "px";
 colorBoard.appendChild(colorViews);
 colorBoard.appendChild(colorInput);
 colorBoard.appendChild(colorClose);
 colorBoard.appendChild(colorBank);
 document.body.appendChild(colorBoard);
 //循环出调色板
 for(b=0;b6;b++){
  for(a=0;a3;a++){
   for(i=0;i6;i++){
    colorItem = document.createElement("div");
    colorItem.style.backgroundColor="#"+ColorHex[a]+ColorHex[i]+ColorHex[b];
    colorBank.appendChild(colorItem);
   }
  }
 }
 for(b=0;b6;b++){
  for(a=3;a6;a++){
   for(i=0;i6;i++){
    colorItem = document.createElement("div");
    colorItem.style.backgroundColor="#"+ColorHex[a]+ColorHex[i]+ColorHex[b];
    colorBank.appendChild(colorItem);
   }
  }
 }

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/) for(i=0;i6;i++){
  colorItem = document.createElement("div");
  colorItem.style.backgroundColor="#"+ColorHex[0]+ColorHex[0]+ColorHex[0];
  colorBank.appendChild(colorItem);
 }
 for(i=0;i6;i++){
  colorItem = document.createElement("div");
  colorItem.style.backgroundColor="#"+ColorHex[i]+ColorHex[i]+ColorHex[i];
  colorBank.appendChild(colorItem);
 }
 for(i=0;i6;i++){
  colorItem = document.createElement("div");
  colorItem.style.backgroundColor="#"+SpColorHex[i];
  colorBank.appendChild(colorItem);
 }
 var colorItems = colorBank.getElementsByTagName("div");
 for(i=0; icolorItems.length;i++){
  colorItems[i].onmouseover = function(){
   a = this.style.backgroundColor;
   if(a.length7){
    a = formatRgb(a);//
   }
   colorViews.style.background = a.toUpperCase();
   colorInput.value = a.toUpperCase();
  }
  colorItems[i].onclick = function(){
   a = this.style.backgroundColor;
   if(a.length7){
    a = formatRgb(a);//
   }
   nowColor.value = a.toUpperCase();
   pageColorViews.style.background = a.toUpperCase();
   document.body.removeChild(colorBoard);
  }
 }
}
//格式化函数
function formatRgb(rgb){
 rgb = rgb.replace("rgb","");rgb = rgb.replace("(","");rgb = rgb.replace(")","");
 format = rgb.split(",");
 a = eval(format[0]).toString(16);
 b = eval(format[1]).toString(16);
 c = eval(format[2]).toString(16);
 rgb = "#"+checkFF(a)+checkFF(b)+checkFF(c);
 function checkFF(str){
  if(str.length == 1){
   str = str+""+str;
   return str;
  }else{
   return str;
  }
 }
 return rgb;
}
//getBody()
function getBody(){
    var Body;
    if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
       Body = document.documentElement;
    }
    else if (typeof document.body != 'undefined') {
       Body = document.body;
    }
    return Body;
}
//scrollPos
function getScrollPos(){
  var t,l;
  if (typeof window.pageYOffset != 'undefined'){
    t = window.pageYOffset;
    l = window.pageXOffset;
  }
  else{
   t = getBody().scrollTop;
   l = getBody().scrollLeft;
  }
  return {t:t,l:l};
}
/script
/head
body
table width="500" border="1"
  tr
    tdinput type="text" value="" id="nowColor" //td
    tddiv id="pageColorViews" style="background:#000; width:30px; height:30px;"/div/td
    tda href="javascript:;" onclick="colorSelect('nowColor','pageColorViews',event)"点我就出调色板/a/td
  /tr
/table
/body
/html
展开更多 50%)
分享

猜你喜欢

Javascript简易调色板效果

Web开发
Javascript简易调色板效果

说说Director中的调色板

设计软件 平面设计软件 广告设计软件
说说Director中的调色板

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用VB编写调色板

编程语言 网络编程
用VB编写调色板

Excel怎么更改调色板颜色?

excel
Excel怎么更改调色板颜色?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

配色必胜!那些个唯美的调色板

平面设计
配色必胜!那些个唯美的调色板

手工DIY 化妆品调色板的做法

DIY小饰品
手工DIY  化妆品调色板的做法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

跨页面postback时传递JavaScript变量值

跨页面postback时传递JavaScript变量值

如何加入Win10系统的Insider计划

如何加入Win10系统的Insider计划
下拉加载更多内容 ↓