Javascript简易调色板效果

2016-02-19 20:31 17 1 收藏

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

【 tulaoshi.com - Web开发 】

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

(本文来源于图老师网站,更多请访问http://www.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);
   }
  }
 }

(本文来源于图老师网站,更多请访问http://www.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

来源:http://www.tulaoshi.com/n/20160219/1623910.html

延伸阅读
标签: Web开发
这个程序是个用来制作DIV圆角的开源javascript代码实现,效果和图像制作圆角一样的.它简单,易用,不用修改任何图像就能做到不同半径圆角.... 用这个代码你可以自由定制自己的DIV,不再是方形了.完全可以实现圆形个性DIV 用法说明: 以下说明将以一个半径为20像素圆角的DIV为例. ------------------------------A 解压您下...
标签: PS PS教程
本教程由中国 第一印相 原创,转载请保留此信息. 素材: screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 pop="点击在新窗口查看全图 CTRL+鼠标滚轮放大或缩小" resized="true">  效果图: screen.width*0.7) {this.resized=tru...
标签: Web开发
function sAlert(str){    var msgw,msgh,bordercolor;    msgw=400;//提示窗口的宽度    msgh=100;//提示窗口的高度    titleheight=25 //提示窗口标题高度    bordercolor="#336699";//提示窗口的边框颜色    titlecolor="#99CCFF";//提示窗口的标题颜色    ...
标签: Web开发
些很实用且必用的小脚本代码: 脚本1:进入主页以后自动播放声音  embed src="pnm://10.13.31.90/~kayvin/mihunji.rm" hidden=true autostart=true loop=true  脚本2:进入主页后自动最大话,省的去在自己单击了  script  self.moveTo(0,0)  self.resizeTo(screen.availWidth,screen.availHe...
标签: Web开发
下面是一个跑马灯效果的JavaScript文档。 Test2_1.html html head script Language="JavaScript" var msg="这是一个跑马灯效果的JavaScript文档"; var interval = 100; var spacelen = 120; var space10=" "; var seq=0; function Scroll() { len = msg.length; window.status = msg.substring(0, seq+1); ...

经验教程

298

收藏

60
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部