Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/07/2007, 05:23
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 7 meses
Puntos: 45
Re: cambiar script!!!

Te faltaba la función decahex() en el código.

Yo he hecho un div contenedor para ir insertando DIV's flotando a la izquierda en su interior. Si quieres más pasos o anchura no tienes más que modificar el argumento o la propiedad en cuestión:

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html>
    <
head>
        <
titlePágina nueva </title>
        <
meta name="Author" content="derkeNuke">
        <
style type="text/css">
        </
style>
    </
head>

    <
body>

        <
script type="text/javascript">

            var 
hexa "0123456789abcdef";

            function 
hexadec(x) {
                
x.toLowerCase();
                return 
parseInt(hexa.indexOf(x.charAt(0))) * 16 parseInt(hexa.indexOf(x.charAt(1)))
            }

            function 
decahex(n) {
                return 
hexa.charAt(16) + hexa.charAt(16);
            }

            function 
colorHexa(c) {
                return 
"#" decahex(c[0]) + decahex(c[1]) + decahex(c[2]);
            }

            function 
transitar(inifinpasos) {
                var 
dato desglose(ini);
                var 
rIni dato[0];
                var 
gIni dato[1];
                var 
bIni dato[2];

                var 
intermedios = new Array(pasos);
                
intermedios[0] = dato;

                var 
dato desglose(fin);

                
intermedios[pasos 1] = dato;

                var 
rFin dato[0];
                var 
gFin dato[1];
                var 
bFin dato[2];

                var 
rMed = (rFin rIni) / (pasos 1);
                var 
gMed = (gFin gIni) / (pasos 1);
                var 
bMed = (bFin bIni) / (pasos 1);

                for (var 
1pasos 1++)    {
                    var 
rgb = new Array(3);
                    
rgb[0] = parseInt(rIni + (rMed i));
                    
rgb[1] = parseInt(gIni + (gMed i));
                    
rgb[2] = parseInt(bIni + (bMed i));
                    
intermedios[i] = rgb;
                }
                for (
0intermedios.length++)
                    
intermedios[i] = colorHexa(intermedios[i]);

                return 
intermedios;
            }

            function 
desglose(color) {
                if (
color.length != 6)
                    return 
"poblema";
                else    {
                    
devolver = new Array(3);
                    
devolver[0] = hexadec(color.substr(02));
                    
devolver[1] = hexadec(color.substr(22));
                    
devolver[2] = hexadec(color.substr(42));
                }
                return 
devolver;
            }




            
window.onload = function() {
                var 
colores transitar("00ffff""ff0000"30);
                for(var 
i=0capas=""i<colores.lengthi++) {
                    
capas+='<div style="width:20px; background-color:'+colores[i]+'; float:left; ">&nbsp;</div>';
                }
                
document.getElementById("degrad").innerHTML capas;
            }
        
</script>


        <div id="degrad"></div>

    </body>
</html> 


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.