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

 更新时间:2016年12月21日 10:55:40   作者:蜗牛0912  
这篇文章主要介绍了JS实现的系统调色板,结合完整实例形式分析了js实现调色板效果的具体步骤与实现技巧,涉及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>

PS:这里再为大家推荐几款本站的相关在线工具:

在线RGB、HEX颜色代码生成器:
http://tools.jb51.net/color/rgb_color_generator

RGB颜色查询对照表_颜色代码表_颜色的英文名称大全:
http://tools.jb51.net/color/jPicker

在线网页调色板工具:
http://tools.jb51.net/color/color_picker

在线颜色选择器工具/RGB颜色查询对照表:
http://tools.jb51.net/color/colorpicker

更多关于JavaScript相关内容可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • js实现固定宽高滑动轮播图效果

    js实现固定宽高滑动轮播图效果

    本文主要分享了js实现PC固定宽高滑动轮播图效果的示例代码。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 微信小程序实现简易加法计算器

    微信小程序实现简易加法计算器

    这篇文章主要为大家详细介绍了微信小程序加法计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • 一文带你深入理解JavaScript中的时间处理

    一文带你深入理解JavaScript中的时间处理

    在JavaScript中,处理时间和日期是常见任务之一,涉及到从用户界面的日期选择器到服务器上的时间戳,再到时间间隔的计算,本文将深入探讨JavaScript中的时间处理,需要的朋友可以参考下
    2023-09-09
  • 小程序点击图片实现自动播放视频

    小程序点击图片实现自动播放视频

    这篇文章主要为大家详细介绍了小程序点击图片实现自动播放视频,停止上一个视频播放,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • 浅谈JavaScript中的string拥有方法的原因

    浅谈JavaScript中的string拥有方法的原因

    这篇文章主要介绍了浅谈JavaScript中的string拥有方法的原因,需要的朋友可以参考下
    2015-08-08
  • 基于Javascript实现二级联动菜单效果

    基于Javascript实现二级联动菜单效果

    这篇文章主要为大家详细介绍了基于Javascript实现二级联动菜单效果的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • thinkjs 文件上传功能实例代码

    thinkjs 文件上传功能实例代码

    ThinkJS 是一款面向未来开发的 Node.js 框架,整合了大量的项目最佳实践,让企业级开发变得如此简单、高效。接下来通过本文给大家分享thinkjs 文件上传功能,需要的朋友参考下吧
    2017-11-11
  • javascript基于原型链的继承及call和apply函数用法分析

    javascript基于原型链的继承及call和apply函数用法分析

    这篇文章主要介绍了javascript基于原型链的继承及call和apply函数用法,结合实例形式较为详细的分析了javascript中继承的概念、创建方法以及call和apply函数的功能与使用技巧,需要的朋友可以参考下
    2016-12-12
  • JavaScript实现简单计算器功能

    JavaScript实现简单计算器功能

    这篇文章主要为大家详细介绍了JavaScript实现简单计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • 微信小程序中悬浮窗功能的实现代码

    微信小程序中悬浮窗功能的实现代码

    悬浮窗就是图中微信图标的按钮,采用fixed定位,可拖动和点击。本文给大家分享一个比较常见的常见,通过实例代码给大家介绍微信小程序中悬浮窗功能的实现,一起看看吧
    2019-08-08

最新评论