今天是:
首 页信息查询网站SEO查询工具CSS编辑器建站素材
网海拾贝,电脑资讯,电脑快报,it资讯,网站建设资讯,教程基地
软件新闻
操作系统
Vista Winxp Win2003 Linux Windows综合
工具软件
系统工具 媒体工具 网络工具 杀毒软件 聊天
软件开发
C教程 C++ Java C# ASP.NET JSP PHP
数据库
Oracle MySQL DB2 SQL Server Sybase
安全
网络 病毒
办公应用
Word Excel Powerpoint Outlook 其他
平面设计
Photoshop Fireworks Coreldraw Flash Illustrator 3dsmax
网站运营
网站运营 网站优化 网站策划 策划书下载 建站心得 站长故事 网站盈利 网页制作 网页特效 建站素材 免费资源 QQ频道
  当前位置:首 页 >> 网页制作 >> Javascript/Ajax >> Javascript简易调色板效果

Javascript简易调色板效果

  发布于2008-08-29 14:06 来源:网站建设学院

Javascript简易调色板效果

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

<!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;b<6;b++){
  for(a=0;a<3;a++){
   for(i=0;i<6;i++){
    colorItem = document.createElement("div");
    colorItem.style.backgroundColor="#"+ColorHex[a]+ColorHex[i]+ColorHex[b];
    colorBank.appendChild(colorItem);
   }
  }
 }
 for(b=0;b<6;b++){
  for(a=3;a<6;a++){
   for(i=0;i<6;i++){
    colorItem = document.createElement("div");
    colorItem.style.backgroundColor="#"+ColorHex[a]+ColorHex[i]+ColorHex[b];
    colorBank.appendChild(colorItem);
   }
  }
 }
 for(i=0;i<6;i++){
  colorItem = document.createElement("div");
  colorItem.style.backgroundColor="#"+ColorHex[0]+ColorHex[0]+ColorHex[0];
  colorBank.appendChild(colorItem);
 }
 for(i=0;i<6;i++){
  colorItem = document.createElement("div");
  colorItem.style.backgroundColor="#"+ColorHex[i]+ColorHex[i]+ColorHex[i];
  colorBank.appendChild(colorItem);
 }
 for(i=0;i<6;i++){
  colorItem = document.createElement("div");
  colorItem.style.backgroundColor="#"+SpColorHex[i];
  colorBank.appendChild(colorItem);
 }
 var colorItems = colorBank.getElementsByTagName("div");
 for(i=0; i<colorItems.length;i++){
  colorItems[i].onmouseover = function(){
   a = this.style.backgroundColor;
   if(a.length>7){
    a = formatRgb(a);//
   }
   colorViews.style.background = a.toUpperCase();
   colorInput.value = a.toUpperCase();
  }
  colorItems[i].onclick = function(){
   a = this.style.backgroundColor;
   if(a.length>7){
    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>
    <td><input type="text" value="" id="nowColor" /></td>
    <td><div id="pageColorViews" style="background:#000; width:30px; height:30px;"></div></td>
    <td><a href="javascript:;" onclick="colorSelect('nowColor','pageColorViews',event)">点我就出调色板</a></td>
  </tr>
</table>
</body>
</html>

Javascript简易调色板效果


中查找“Javascript简易调色板效果”更多相关内容

中查找“Javascript简易调色板效果”更多相关内容



上一篇:javascript:IE和火狐读xml文件的示例代码
下一篇:单击按钮复制定义好的内容到剪贴板
最近更新 赞助商
·javascript实现图片放大镜效果12-30
·图片代替提交和重置按钮12-11
·JavaScript教程:图片切割效果12-10
·JavaScript动态加载CSS的三种方法12-02
·JavaScript语言中的Literal Syntax特性12-02
·JavaScript模仿Apache的ObjectPool12-02
·关于JavaScript的执行域,标识符解析,闭包..12-02
·Javascript教程:拖拽效果研究12-01
·浏览器对Cookie的限制11-10
·JavaScript中的排序函数sort10-28
·初学Javascript的总结10-24

共有评论 0 条 网友评分 0分 查看所有评论


发表评论→ 学而不思则罔,思而不学则殆,请大胆发表你的见解。

输验证码:

您对此篇文章的评分:1分 2分 3分 4分 5分

  • 站内搜索
关键词

搜索方式

搜索范围

精确匹配
Baidu
网站首页 - 关于本站 - 网站地图 - 广告合作 - 站点声明 - RSS订阅 - 联系我们
Copyright © 2005 网海拾贝.[新ICP备05003216号]. All Rights Reserved .