Javascript生成颜色选择控件

由于实际项目功能需要小弟我在网上找的,可惜选中颜色获取的是16进制值,希望对大家也有所帮助!

<script language="javascript">
<!--

//只有把〈script〉〈/script〉标签放在〈body〉标签内才可以正常使用“其它颜色...”功能

document.write("<OBJECT id=\"dlgHelper\" CLASSID=\"clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b\" width=\"0px\" height=\"0px\"></OBJECT>");
var ocolorPopup = window.createPopup();
var ecolorPopup=null;

function colordialogmouseout(obj){
  obj.style.borderColor="";
  obj.bgColor="";
}

function colordialogmouseover(obj){
  obj.style.borderColor="#0A66EE";
  obj.bgColor="#EEEEEE";
}

function colordialogmousedown(color){
  ecolorPopup.value=color;
  //document.body.bgColor=color;
  ocolorPopup.document.body.blur();
}

function colordialogmore(){
  var sColor=dlgHelper.ChooseColorDlg(ecolorPopup.value);
  sColor = sColor.toString(16);
  if (sColor.length < 6) {
    var sTempString = "000000".substring(0,6-sColor.length);
    sColor = sTempString.concat(sColor);
  }
  ecolorPopup.value="#"+sColor.toUpperCase();
  //document.body.bgColor="#"+sColor.toUpperCase();
  ocolorPopup.document.body.blur();
}

function colordialog(){
  var e=event.srcElement;
  e.οnkeyup=colordialog;
  ecolorPopup=e;
  var ocbody;
  var oPopBody = ocolorPopup.document.body;
  var colorlist=new Array(40);
  oPopBody.style.backgroundColor = "#f9f8f7";
  oPopBody.style.border = "solid #999999 1px";
  oPopBody.style.fontSize = "12px";

  colorlist[0]="#000000";  colorlist[1]="#993300";  colorlist[2]="#333300";  colorlist[3]="#003300";
  colorlist[4]="#003366";  colorlist[5]="#000080";  colorlist[6]="#333399";  colorlist[7]="#333333";

  colorlist[8]="#800000";  colorlist[9]="#FF6600";  colorlist[10]="#808000";colorlist[11]="#008000";
  colorlist[12]="#008080";colorlist[13]="#0000FF";colorlist[14]="#666699";colorlist[15]="#808080";

  colorlist[16]="#FF0000";colorlist[17]="#FF9900";colorlist[18]="#99CC00";colorlist[19]="#339966";
  colorlist[20]="#33CCCC";colorlist[21]="#3366FF";colorlist[22]="#800080";colorlist[23]="#999999";

  colorlist[24]="#FF00FF";colorlist[25]="#FFCC00";colorlist[26]="#FFFF00";colorlist[27]="#00FF00";
  colorlist[28]="#00FFFF";colorlist[29]="#00CCFF";colorlist[30]="#993366";colorlist[31]="#CCCCCC";

  colorlist[32]="#FF99CC";colorlist[33]="#FFCC99";colorlist[34]="#FFFF99";colorlist[35]="#CCFFCC";
  colorlist[36]="#CCFFFF";colorlist[37]="#99CCFF";colorlist[38]="#CC99FF";colorlist[39]="#FFFFFF";

  ocbody = "";
  ocbody += "<table CELLPADDING=0 CELLSPACING=3>";
  ocbody += "<tr height=\"20\" width=\"20\"><td align=\"center\"><table style=\"border:1px solid #808080;\" width=\"12\" height=\"12\" bgcolor=\""+e.value+"\"><tr><td></td></tr></table></td><td bgcolor=\"eeeeee\" colspan=\"7\" style=\"font-size:12px;\" align=\"center\">当前颜色</td></tr>";
  for(var i=0;i<colorlist.length;i++){
    if(i%8==0)
      ocbody += "<tr>";
    ocbody += "<td width=\"14\" height=\"16\" style=\"border:1px solid;\" onMouseOut=\"parent.colordialogmouseout(this);\" onMouseOver=\"parent.colordialogmouseover(this);\" onMouseDown=\"parent.colordialogmousedown('"+colorlist[i]+"')\" align=\"center\" valign=\"middle\"><table style=\"border:1px solid #808080;\" width=\"12\" height=\"12\" bgcolor=\""+colorlist[i]+"\"><tr><td></td></tr></table></td>";
    if(i%8==7)
      ocbody += "</tr>";
  }
  ocbody += "<tr><td align=\"center\" height=\"22\" colspan=\"8\" onMouseOut=\"parent.colordialogmouseout(this);\" onMouseOver=\"parent.colordialogmouseover(this);\" style=\"border:1px solid;font-size:12px;cursor:default;\" onMouseDown=\"parent.colordialogmore()\">其它颜色...</td></tr>";
  ocbody += "</table>";

  oPopBody.innerHTML=ocbody;
  ocolorPopup.show(e.offsetLeft, e.offsetTop+e.offsetHeight, 158, 147, document.body);
}
//-->
</script>
单击文本框弹出选择颜色:<input name="sel1" type="text" οnfοcus="colordialog()" readonly="readonly">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值