JS实现的系统调色板完整实例


Posted in Javascript onDecember 21, 2016

本文实例讲述了JS实现的系统调色板。分享给大家供大家参考,具体如下:

运行效果图如下:

JS实现的系统调色板完整实例

整体页面代码:

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <title>DW调色板</title>
<script type="text/javascript" language="javascript">
var ColorHex=new Array('00','33','66','99','CC','FF')
var SpColorHex=new Array('FF0000','00FF00','0000FF','FFFF00','00FFFF','FF00FF')
var current=null
function getEvent()
{
  if(document.all)
  {
  return window.event;//如果是ie
  }
  func=getEvent.caller;
  while(func!=null)
  {
    var arg0=func.arguments[0];
    if(arg0)
    {
      if((arg0.constructor==Event || arg0.constructor ==MouseEvent)||(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
      {
      return arg0;
      }
    }
    func=func.caller;
  }
  return null;
}
function intocolor()
{
  var colorTable=''
  for (i=0;i<2;i++)  //循环2部分
  {
    for (j=0;j<6;j++) //循环6行
    {
      colorTable=colorTable+'<tr height=12>'
      for (k=0;k<3;k++)
      {
        for (l=0;l<6;l++)
        {
          colorTable=colorTable+'<td width=11 style="background-color:#'+ColorHex[k+i*3]+ColorHex[l]+ColorHex[j]+'">'
        }
      }
    }
  }
  colorTable='<table width=217 border="0" cellspacing="0" cellpadding="0" style="border:1px #000000 solid;border-bottom:none;border-collapse: collapse" bordercolor="000000">'
      +'<tr height=30><td colspan=21 bgcolor=#cccccc>'
      +'<table cellpadding="0" cellspacing="1" border="0" style="border-collapse: collapse">'
      +'<tr><td width="3"><td>当前色:</td><td><input type="text" name="DisColor" id="DisColor" size="6" disabled style="border:solid 1px #000000;background-color:#FFFFFF"></td>'
      +'<td width="3"><td><input type="text" name="HexColor" id="HexColor" size="7" style="border:inset 1px;font-family:Arial;" value="#FFFFFF"></td></tr></table></td></table>'
      +'<table border="1" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="000000" style="cursor:hand;">'
      +colorTable+'</table>';
  colorpanel.innerHTML=colorTable
}
function doOver() {
  var evt=getEvent();
  var element=evt.srcElement || evt.target;
  var DisColor=document.getElementById("DisColor");
  var HexColor=document.getElementById("HexColor");
  if ((element.tagName=="TD") && (current!=element)) {
    if (current!=null){
      current.style.backgroundColor = current._background
    }
    element._background = element.style.backgroundColor
    DisColor.style.backgroundColor = rgbToHex(element.style.backgroundColor)
    HexColor.value = rgbToHex(element.style.backgroundColor)
    element.style.backgroundColor = "white"
    current = element
  }
}
function rgbToHex(aa)
{
  if(aa.indexOf("rgb") != -1)
  {
    aa=aa.replace("rgb(","")
    aa=aa.replace(")","")
    aa=aa.split(",")
    r=parseInt(aa[0]);
    g=parseInt(aa[1]);
    b=parseInt(aa[2]);
    r = r.toString(16);
    if (r.length == 1) { r = '0' + r; }
    g = g.toString(16);
    if (g.length == 1) { g = '0' + g; }
    b = b.toString(16);
    if (b.length == 1) { b = '0' + b; }
    return ("#" + r + g + b).toUpperCase();
  }
  else
  {
    return aa;
  }
}
function doOut() {
  if (current!=null) current.style.backgroundColor = current._background;
}
function doclick(){
  var evt=getEvent();
  var element=evt.srcElement || evt.target;
  if (element.tagName=="TD"){
    var bg=rgbToHex(element._background);
    document.getElementById("orange").value=bg;
    alert("选取颜色: "+bg);
    return bg;
  }
}
</script>
</head>
<body onload="intocolor()">
  <div id="colorpanel">
  </div>
  <table width=217 border="1" cellspacing="0" cellpadding="0" style="border:1px #000000 solid;border-bottom:none;border-collapse: collapse" bordercolor="000000">
  <tr height=30>
    <td colspan=21 bgcolor=#cccccc>
      <table cellpadding="0" cellspacing="1" border="0" style="border-collapse: collapse">
        <tr>
          <td>所选色:</td>
          <td><input id="orange" type="text" value="" size="20" /></td>
        </tr>
      </table>
    </td>
  </tr>
  </table>
</body>
</html>
Javascript 相关文章推荐
用jquery中插件dialog实现弹框效果实例代码
Nov 15 Javascript
轻松实现javascript数据双向绑定
Nov 11 Javascript
跟我学习javascript解决异步编程异常方案
Nov 23 Javascript
Bootstrap每天必学之按钮
Nov 26 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
May 12 Javascript
javascript验证内容为数字以及长度为10的简单实例
Aug 20 Javascript
利用angular.copy取消变量的双向绑定与解析
Nov 25 Javascript
详解JS-- 浮点数运算处理
Nov 28 Javascript
Vue项目中引入外部文件的方法(css、js、less)
Jul 24 Javascript
Nuxt.js 数据双向绑定的实现
Feb 17 Javascript
说说如何使用Vuex进行状态管理(小结)
Apr 14 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
Apr 23 Javascript
基于jPlayer三分屏的制作方法
Dec 21 #Javascript
js实现的简练高效拖拽功能示例
Dec 21 #Javascript
利用Bootstrap实现表格复选框checkbox全选
Dec 21 #Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 #Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
Dec 21 #Javascript
JS定时器用法分析【时钟与菜单中的应用】
Dec 21 #Javascript
vue.js实现仿原生ios时间选择组件实例代码
Dec 21 #Javascript
You might like
PHP中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
Laravel框架控制器的request与response用法示例
2019/09/30 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
boostrapTable的refresh和refreshOptions区别浅析
2017/01/22 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
angular 组件通信的几种实现方式
2018/07/13 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
Python数据集切分实例
2018/12/08 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
android面试问题与答案
2016/12/27 面试题
一组SQL面试题
2016/02/15 面试题
就业表自我评价分享
2014/02/06 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
警校毕业生自我评价
2014/04/06 职场文书
趣味运动会简讯
2015/07/20 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL