如题,或者有没类似变通的方法,只要不刷新页面就好,可以弹出颜色选取框让用户选择颜色

解决方案 »

  1.   

    有这个JS的<script language="javascript">
    var perline = 9;
    var divSet = false;
    var curId;
    var colorLevels = Array('0','3','6','9','C','F');
    var colorArray = Array();
    var ie = false;
    var nocolor = 'none';
    if (document.all) { ie = true; nocolor = ''; }
    function addColor(r, g, b) {
    var red = colorLevels[r];
    var green = colorLevels[g];
    var blue = colorLevels[b];
    addColorValue(red, green, blue);
    }
    function addColorValue(r, g, b) {
    colorArray[colorArray.length] = r + r + g + g + b + b;
    }
    function setColor(color) {
    var link = $(curId);
    var field = $(curId);
    var picker = $('colorpicker');
    field.value = color;
    if (color == '') {color = nocolor; }
    picker.style.display = 'none';
    eval($(curId).title);
    setResult();
    }
    function setDiv() {
    if (!document.createElement) { return; }
    var elemDiv = document.createElement('div');
    if (typeof(elemDiv.innerHTML) != 'string') { return; }
    genColors();
    elemDiv.id = 'colorpicker';
    elemDiv.innerHTML = getColorTable();
    document.body.appendChild(elemDiv);
    divSet = true;
    }
    function pickColor(id) {
    if (!divSet) { setDiv(); }
    var picker = $('colorpicker');
    if (id == curId && picker.style.display == 'block') {
    picker.style.display = 'none';
    return;
    }
    curId = id;
    var thelink = $(id);
    picker.style.top = getAbsoluteOffsetTop(thelink)+"px";
    picker.style.left = getAbsoluteOffsetLeft(thelink)+"px";
    picker.style.display = 'block';
    }
    function genColors() {
    addColorValue('0','0','0');
    addColorValue('3','3','3');
    addColorValue('6','6','6');
    addColorValue('8','8','8');
    addColorValue('9','9','9');
    addColorValue('A','A','A');
    addColorValue('C','C','C');
    addColorValue('E','E','E');
    addColorValue('F','F','F');
    for (a = 1; a < colorLevels.length; a++)
    addColor(0,0,a);
    for (a = 1; a < colorLevels.length - 1; a++)
    addColor(a,a,5);
    for (a = 1; a < colorLevels.length; a++)
    addColor(0,a,0);
    for (a = 1; a < colorLevels.length - 1; a++)
    addColor(a,5,a);
    for (a = 1; a < colorLevels.length; a++)
    addColor(a,0,0);
    for (a = 1; a < colorLevels.length - 1; a++)
    addColor(5,a,a);
    for (a = 1; a < colorLevels.length; a++)
    addColor(a,a,0);
    for (a = 1; a < colorLevels.length - 1; a++)
    addColor(5,5,a);
    for (a = 1; a < colorLevels.length; a++)
    addColor(0,a,a);
    for (a = 1; a < colorLevels.length - 1; a++)
    addColor(a,5,5);
    for (a = 1; a < colorLevels.length; a++)
    addColor(a,0,a);
    for (a = 1; a < colorLevels.length - 1; a++)
    addColor(5,a,5);
       return colorArray;
    }
    function getColorTable() {
     var colors = colorArray;
       var tableCode = '';
     tableCode += '<table>';
     for (i = 0; i < colors.length; i++) {
     if (i % perline == 0) { tableCode += '<tr>'; }
     tableCode += '<td><a style="color:#' + colors[i] + 
    '; background:#' + colors[i] + 
    ';" href="javascript:setColor(\'0x' + colors[i] + 
    '\');">&nbsp;</a></td>';
     if (i % perline == perline - 1) { tableCode += '</tr>'; }
     }
     if (i % perline != 0) { tableCode += '</tr>'; }
     tableCode += '</table>';
       return tableCode;
    }
    function getAbsoluteOffsetTop(obj) {
    var top = obj.offsetTop;
    var parent = obj.offsetParent;
    while (parent != document.body) {
    top += parent.offsetTop;
    parent = parent.offsetParent;
    }
    return top;
    }
    function getAbsoluteOffsetLeft(obj) {
    var left = obj.offsetLeft;
    var parent = obj.offsetParent;
    while (parent != document.body) {
    left += parent.offsetLeft;
    parent = parent.offsetParent;
    }
    return left;
    }</script>
    用的时候<a href="javascript:pickColor('backcolor');">pick</a>
      

  2.   

    <OBJECT id="dlgHelper" CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px" height="0px" VIEWASTEXT></OBJECT>
     function   setFont()   
      {
    var sColor = document.getElementById("dlgHelper").ChooseColorDlg();
    sColor = sColor.toString(16);
           
      }