Código de JavaScript - Barra de colores en JavaScript

Imágen de perfil
Val: 2.033
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Barra de colores en JavaScriptgráfica de visualizaciones


JavaScript

Publicado el 19 de Septiembre del 2018 por Xavi (530 códigos)
1.335 visualizaciones desde el 19 de Septiembre del 2018
Este simple código, muestra como dibujar una barra de colores y permite seleccionar cualquier color poniendo el ratón encima.
Te muestra el color en formato RGB y Hexadecimal.

barra-de-color

Versión 1
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 19 de Septiembre del 2018gráfica de visualizaciones de la versión: Versión 1
1.336 visualizaciones desde el 19 de Septiembre del 2018
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <style>
 
    div {margin-bottom:5px;}
    #colores {cursor:pointer;}
    .selected {border:1px solid;}
    label {width:100px;display:inline-block;}
 
    </style>
</head>
 
<body>
    <div>
        <div id="colores"></div>
    </div>
 
    <div>
        <label>RGB</label> <input type="text" id="rgb">
    </div>
    <div>
        <label>Hexadecimal</label> <input type="text" id="hex">
    </div>
</body>
 
</html>
 
<script>
 
(function(){
    var ultimaSeleccion="";
    var clr=new Array('00','11','22','33','44','55','66','77','88','99','aa','bb','cc','dd','ee','ff');
    var result="";
 
    // mostramos la escala de colores
    var red=15;
    var green=0;
    var blue=0;
    for (green=0;green<16;green++) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
    green=15;
    blue=0;
    red=15;
    for (red=15;red>-1;red--) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
    green=15;
    blue=0;
    red=0;
    for (blue=0;blue<16;blue++) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
 
    green=15;
    blue=15;
    red=0;
    for (green=15;green>-1;green--) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
    green=0;
    blue=15;
    red=0;
    for (red=0;red<16;red++) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
    green=0;
    blue=15;
    red=15;
    for (blue=15;blue>-1;blue--) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
    // escala de grises
    for (i=15;i>-1;i--) {
        result+='<span style="background-color:#'+clr[i]+clr[i]+clr[i]+'">&nbsp;</span>';
    }
    document.getElementById("colores").innerHTML=result;
 
    /**
     * Funcion para convertir un valor binario a hexadecimal
     */
    function binToHex(valor) {
        // convertimos el valor a base 16
        var hex = parseInt(valor).toString(16);
        // devolver el valor añadiendole un 0 delante si la longitud es de 1
        return hex.length == 1 ? "0" + hex : hex;
    }
    function rgbToHex(r, g, b) {
        return "#" + binToHex(r) + binToHex(g) + binToHex(b);
    }
 
    /**
     * Evento que se ejecuta cada vez que pasa el ratón por encima de algun
     * elemento de la barra de colores
     */
    document.getElementById("colores").addEventListener("mouseover",function(e){
 
        // obtenemos el color en RGB
        var rgb=e.target.style.backgroundColor;
 
        // obtenemos cada uno de los valores del color RGB
        var valores = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(rgb);
 
        // obtenemos el RGB
        var hex=rgbToHex(valores[2],valores[3],valores[4]);
 
        // eliminamos la ultima seleccion
        if(ultimaSeleccion)
        {
            ultimaSeleccion.classList.remove("selected");
        }
 
        // seleccionamos el nuevo elememento
        e.target.classList.add("selected");
        ultimaSeleccion=e.target;
 
        document.getElementById("rgb").value=rgb;
        document.getElementById("hex").value=hex;
    });
})()
 
</script>



Comentarios sobre la versión: Versión 1 (2)

Imágen de perfil
20 de Septiembre del 2018
estrellaestrellaestrellaestrellaestrella
Excelente!!!
Responder
7 de Agosto del 2019
estrellaestrellaestrellaestrellaestrella
Gracias me gusto el codigo funciona bien amigo
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4828