JAVASCRIPT实现颜色对话框

原创 2005年05月16日 10:48:00

<HTML>
<HEAD>
<TITLE>Choose Color</TITLE>
<meta http-equiv="content-type" content="text/html; charset=gb2312">

<script language="javascript">
var SelRGB = '#000000';
var DrRGB = '';
var SelGRAY = '120';

var hexch = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');

function ToHex(n)
{ var h, l;

 n = Math.round(n);
 l = n % 16;
 h = Math.floor((n / 16)) % 16;
 return (hexch[h] + hexch[l]);
}

function DoColor(c, l)
{ var r, g, b;

  r = '0x' + c.substring(1, 3);
  g = '0x' + c.substring(3, 5);
  b = '0x' + c.substring(5, 7);
 
  if(l > 120)
  {
    l = l - 120;

    r = (r * (120 - l) + 255 * l) / 120;
    g = (g * (120 - l) + 255 * l) / 120;
    b = (b * (120 - l) + 255 * l) / 120;
  }else
  {
    r = (r * l) / 120;
    g = (g * l) / 120;
    b = (b * l) / 120;
  }

  return '#' + ToHex(r) + ToHex(g) + ToHex(b);
}

function EndColor()
{ var i;

  if(DrRGB != SelRGB)
  {
    DrRGB = SelRGB;
    for(i = 0; i <= 30; i ++)
      GrayTable.rows(i).bgColor = DoColor(SelRGB, 240 - i * 8);
  }

  SelColor.value = DoColor(RGB.innerText, GRAY.innerText);
  ShowColor.bgColor = SelColor.value;
}
</script>

<script language="javascript" for="ColorTable" event="onclick">
  SelRGB = event.srcElement.bgColor;
  EndColor();
</script>

<script language="javascript" for="ColorTable" event="onmouseover">
  RGB.innerText = event.srcElement.bgColor.toUpperCase();
  EndColor();
</script>

<script language="javascript" for="ColorTable" event="onmouseout">
  RGB.innerText = SelRGB;
  EndColor();
</script>

<script language="javascript" for="GrayTable" event="onclick">
  SelGRAY = event.srcElement.title;
  EndColor();
</script>

<script language="javascript" for="GrayTable" event="onmouseover">
  GRAY.innerText = event.srcElement.title;
  EndColor();
</script>

<script language="javascript" for="GrayTable" event="onmouseout">
  GRAY.innerText = SelGRAY;
  EndColor();
</script>

<script language="javascript" for="Ok" event="onclick">
  window.returnValue = SelColor.value;
  window.close();
</script>

</head>

<body bgcolor="menu">

<div align="center"><center><table border="0" cellspacing="10" cellpadding="0"><tr><td>
<table ID="ColorTable" border="0" cellspacing="0" cellpadding="0" style='cursor:hand'>
<script language="javascript">
function wc(r, g, b, n)
{
 r = ((r * 16 + r) * 3 * (15 - n) + 0x80 * n) / 15;
 g = ((g * 16 + g) * 3 * (15 - n) + 0x80 * n) / 15;
 b = ((b * 16 + b) * 3 * (15 - n) + 0x80 * n) / 15;

 document.write('<td bgcolor=#' + ToHex(r) + ToHex(g) + ToHex(b) + ' height=8 width=8></TD>');
}

var cnum = new Array(1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0);

  for(i = 0; i < 16; i ++)
  {
     document.write('<TR>');
     for(j = 0; j < 30; j ++)
     {
      n1 = j % 5;
      n2 = Math.floor(j / 5) * 3;
      n3 = n2 + 3;

      wc((cnum[n3] * n1 + cnum[n2] * (5 - n1)),
       (cnum[n3 + 1] * n1 + cnum[n2 + 1] * (5 - n1)),
       (cnum[n3 + 2] * n1 + cnum[n2 + 2] * (5 - n1)), i);
     }

     document.writeln('</tr>');
  }
</script>
</table></td><td>
<table id="GrayTable" border="0" cellspacing="0" cellpadding="0" style='cursor:hand'>
<script language="javascript">
  for(i = 255; i >= 0; i -= 8.5)
     document.write('<tr bgcolor=#' + ToHex(i) + ToHex(i) + ToHex(i) + '><td title=' + Math.floor(i * 16 / 17) + ' height=4 width=20></td></tr>');
</script>
</table>
</td></tr>
</table>
</center></div>

<div align="center"><center>
<table border="0" cellspacing="10" cellpadding="0" width="100%">
<tr><td rowspan="2" align="center" width=70>
<table ID="ShowColor" bgcolor="#000000" border="1" width="50" height="40" cellspacing="0" cellpadding="0">
<tr><td></td></tr>
</table>
</td>
<td rowspan="2">Base : <span id="RGB">#000000</span><br>
Bright: <span id="GRAY">120</span><br>
Code : <input type="text" size="7" ID="SelColor" value="#000000"></td>
<td width="50"><button id="Ok" type="submit">OK</button></td></tr>
<tr><td width="50"><button onclick="window.close();">Cancel</button></td></tr>
</table></center></div>

</body>  
</html>

非模态颜色对话框实现代码

  • 2007年05月10日 20:25
  • 46KB
  • 下载

非模态颜色对话框的实现代码

  • 2007年05月11日 12:43
  • 40KB
  • 下载

JavaScript实现模态对话框

首先,来说一下对话框  对话框在Windows应用程序中使用非常普遍,许多应用程序的设定,与用户交互需  要通过对话框来进行,因此对话框是Windows应用程序中最重要的界面元素之一,  ...

JavaScript实现同一页面不同div的切换及颜色改变

类似于csdn个人信息页面,先上图刚进入页面后,“我的相册”对应的区块会显示深红色,并且会显示相应的div内容。然后当我们点击“我的关系后”,“我的关系”的背景色变成深红色,其他导航背景色是灰色,并且...

【JavaScript】基于H5 canvas实现的画板绘图工具(类似你画我猜)——整合颜色选取、保存图片到本地功能

本来想尝试用做一个网页版的美图秀秀,可以导入的对图片进行处理,还有制作一些模板可以快速生成人物的表情包,但是做着做着,发现太耗时间了。结果最终只是简单做了一个基于 canvas 的绘图画板。...

【javascript】——实现桌面背景的颜色改变

最近遇到一个小例子就是作出桌面的背景颜色,非常简单,做出来以后分享给大家!...

【javascript】表格行间隔显示颜色,并实现高亮显示效果

var name; //存储tr对象的类名,当鼠标移开时进行恢复 function trcolor(){ //表格行颜色间隔显示 var tabNode = document.getElem...

调用颜色对话框填充目标图形

  • 2013年07月16日 14:31
  • 35KB
  • 下载

MFC 对胡对话框颜色设置

  • 2013年06月09日 08:45
  • 18KB
  • 下载

MFC设置对话框背景色及控件颜色

MFC设置对话框背景色及控件颜色 一、使用背景图片更改对话框背景色 在对话框源文件void CxxDlg::OnPaint()函数中 if (IsIconic()) {     (这里省...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVASCRIPT实现颜色对话框
举报原因:
原因补充:

(最多只允许输入30个字)