Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/01/2009, 09:34
vissiontotal
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: rellenar campo con codigo de color

Aqui encontre la funcion ponerPaleta pero no tengo ni idea.... de como hacerle para que se rellenen los campos del formulario.................. a lo mejor es algo sencillo pero no doy con la solucion.... ya estudie la funcion para ver como pone los colores pero no le doy.....


var ___d = "0369CF";
function ponColor(r,g,b) {
return "#" + ___d.charAt(r) + ___d.charAt(r) + ___d.charAt(g) + ___d.charAt(g) + ___d.charAt(b) + ___d.charAt(b);
}

function asignaColor(elemento) {
donde = elemento.substr(0, elemento.length - 6);
color = elemento.substr(donde.length);
window["metodo" + donde](color);
__elemento = window["color" + donde];
if (document.getElementById(donde + __elemento.substr(1)))
document.getElementById(donde + __elemento.substr(1)).style.borderStyle = "solid";
window["color" + donde] = "#" + color;
document.getElementById(elemento).style.borderStyl e = "inset";
document.getElementById("muestra" + donde).style.backgroundColor = "#" + color;
if (document.all) event.returnValue = false;
}

function activaColor(idBase, color) {
document.getElementById(idBase + window["color" + idBase].substr(1)).style.borderStyle = "solid";
document.getElementById(idBase + color.substr(1)).style.borderStyle = "inset";
document.getElementById("muestra" + idBase).style.backgroundColor = color;
window["color" + idBase] = color;
}

function ponerPaleta(idBase, tamCelda, color) {
var tamCeldaMax = tamCelda + 4;// añadimos 2 pixeles por lado para el borde
var alto = tamCeldaMax * 6;
var ancho = alto * 7;
var digitos = "0369CF";
var estilosContenedor = "margin: auto; border: 1px solid gray; position: relative; width:" + (ancho + 8);
estilosContenedor += "px; height: " + (alto + 4) + "px";
document.writeln("<div style='" + estilosContenedor + "' >");
var estilosCelda = "position: absolute; overflow: hidden; cursor: pointer; ";
estilosCelda += "; margin: 0; width: " + tamCeldaMax + "px; height: " + tamCeldaMax + "px; ";
for (var i = 0, total = digitos.length; i < total; i ++)
for (var j = 0; j < total; j ++)
for (var k = 0; k < total; k ++) {
esteColor = ponColor(i, j, k);
esteBorde = (esteColor == color) ? "2px inset #eeeeee" : "2px solid #eeeeee";
document.writeln("<div style='" + estilosCelda);
document.writeln("; left: " + (((i * total) + j) * tamCeldaMax) + "px;");
document.writeln("top: " + (k * tamCeldaMax) + "px;");
document.writeln(" border: " + esteBorde);
document.writeln("; background-color: " + esteColor);

document.write("' title='");
document.write(esteColor.substr(1));
document.write("' onclick='asignaColor(this.id)'");
document.write(" id='" + idBase + esteColor.substr(1) + "'");
document.writeln("></div>\n");
}
var estilosMuestra = "width: " + (alto - 2) + "px; height:" + (alto - 2) + "px; background-color: ";
estilosMuestra += color + "; top: 2px; left: " + (ancho - alto + 6) + "px; border: 1px solid black; position: absolute";
document.writeln("<div id='muestra" + idBase + "' style='" + estilosMuestra + "'></div>");
document.writeln("</div>");
}
/*
function tipoPaleta(columnas, proporcional) {
// proporcional = true: rectangular ... false: del ancho del bloque
columnasTemp = (columnas > 6) ? 6 : columnas
this.filas = parseInt(6 / columnasTemp);
this.columnas = 6 / this.filas;
this.proporcional = proporcional;
}
*/

function ponerPaleta2(idBase, tamCelda, color, columnas, proporcional, mostrar) {

function tipoPaleta(columnas, proporcional) {
// proporcional = true: rectangular ... false: del ancho del bloque
columnasTemp = (columnas > 6) ? 6 : columnas
this.filas = parseInt(6 / columnasTemp);
this.columnas = 6 / this.filas;
this.proporcional = proporcional;
}

tipo = new tipoPaleta(columnas, proporcional);
var tamCeldaMax = tamCelda + 4;// añadimos 2 pixeles por lado para el borde
var bloque = tamCeldaMax * 6;
var alto = bloque * tipo.filas;
var ancho = bloque * tipo.columnas + 4;

var estilosContenedor = "margin: auto; border: 1px solid gray; position: relative; width: ";
estilosContenedor += (!mostrar) ? ancho : (tipo.proporcional) ? (ancho + alto + 2) : (ancho + bloque + 4);
estilosContenedor += "px; height: ";
estilosContenedor += (alto + 4) + "px";

var estilosVisor = (mostrar) ? "display: block; " : "display: none; ";
estilosVisor += "position: absolute; border: 1px solid gray; background-color: ";
estilosVisor += color;
estilosVisor += "; width: ";
estilosVisor += (tipo.proporcional) ? (alto - 2) : bloque;
estilosVisor += "px; height: ";
estilosVisor += (true) ? (alto - 2) : bloque;
estilosVisor += "px; top: ";
estilosVisor += (true) ? 2 : bloque;
estilosVisor += "px; left: ";
estilosVisor += (true) ? ancho : bloque;
estilosVisor += "px; ";
var salida = "";
var posX, posY, _i, _j;
var digitos = "0369CF";
salida += "<div style='" + estilosContenedor + "' >";
var estilosCelda = "position: absolute; overflow: hidden; cursor: pointer; ";
estilosCelda += "margin: 0; width: " + tamCeldaMax + "px; height: " + tamCeldaMax + "px; ";
for (var i = 0, total = digitos.length; i < total; i ++) {

_j = (i % tipo.filas);
_i = parseInt(i / tipo.filas);

for (var j = 0; j < total; j ++) {
for (var k = 0; k < total; k ++) {

posX = (k * tamCeldaMax) + _i * bloque;
posY = (j * tamCeldaMax) + (_j * bloque);
esteColor = ponColor(5 - i, 5 - j, 5 - k);
esteBorde = (esteColor == color) ? "2px inset #eeeeee" : "2px solid #eeeeee";
salida += "\n<div style='" + estilosCelda;
salida += "left: " + posX + "px; ";
salida += "top: " + posY + "px;";
salida += " border: " + esteBorde;
salida += "; background-color: " + esteColor;

salida += "' title='";
salida += esteColor.substr(1);
salida += "' onclick='asignaColor(this.id)'";
salida += " id='" + idBase + esteColor.substr(1) + "'";
salida += "></div>\n";
}
}
}
salida += "<div id='muestra" + idBase + "' style='" + estilosVisor + ";'></div>";
salida += "</div>";
return salida;
}