Color switcher
Switch color
by Uncle Bens
HTML
<div class="parent">
<div class="contur">
<div id="box"></div>
</div>
<div class="outer">
<div class="inner">
<input type="range" id="red" value="0" min="0" max="255" />
<input type="number" id="redField" value="0" min="0" max="255">
<br/>
<input type="range" id="green" value="0" min="0" max="255">
<input type="number" id="greenField" value="0" min="0" max="255">
<br/>
<input type="range" id="blue" value="0" min="0" max="255">
<input type="number" id="blueField" value="0" min="0" max="255">
<br/>
</div>
</div>
</div>
CSS
input {
height: 30px;
margin-bottom: 20px;
text-align: center;
}
input[type=number] {
border: 1px solid lightgrey;
border-radius: 50px 10px 10px 50px;
padding: 0px 10px 0px 0px;
transition: all 0.3s ease;
}
input[type=number]:focus {
outline: none;
}
#redField:hover {
border: 1px solid red;
}
#redField:focus {
border: 1px solid red;
}
#greenField:hover {
border: 1px solid green;
}
#greenField:focus {
border: 1px solid green;
}
#blueField:hover {
border: 1px solid blue;
}
#blueField:focus {
border: 1px solid blue;
}
.parent {
margin: 50px;
background-color: darkorange;
}
.parent > div {
float: left;
}
.contur {
border: 1px solid lightgrey;
padding: 30px;
border-radius: 200px;
}
#box {
width: 250px;
height: 250px;
background-color: black;
border-radius: 200px;
box-shadow: 0 0 10px 0 black;
}
.outer {
display: inline-block;
text-align: center;
vertical-align: middle;
width: 400px;
height: 310px;
}
.inner {
line-height: 104px;
}
input[type=range] {
position: relative;
top: -3px;
width: 250px;
height: 1px;
-webkit-appearance: none;
background-color: lightgrey;
cursor: pointer;
transition: all 0.2s ease;
//border: 1px solid lightgrey;
}
input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none;
background-color: white;
width: 16px;
height: 16px;
border-radius: 4px;
transition: all 0.2s ease;
}
//input[type=range]:hover { border: 1px solid rgba(0, 0, 0, 0);}
input[type=range]:hover::-webkit-slider-thumb{
width: 14px;
height: 14px;
border-radius: 10px;
box-shadow: 0 0 0 2px white;
}
input[type=range]:focus {
outline: none;
}
#red::-webkit-slider-thumb {
border: 1px solid red;
}
#red:hover{
background-color: red;
}
#green::-webkit-slider-thumb {
border: 1px solid green;
}
#green:hover{
background-color: green;
}
...
JavaScript
document.getElementById("red").addEventListener("mousemove", myFunction);
document.getElementById("green").addEventListener("mousemove", myFunction);
document.getElementById("blue").addEventListener("mousemove", myFunction);
document.getElementById("redField").addEventListener("wheel", secondFunction);
document.getElementById("greenField").addEventListener("wheel", secondFunction);
document.getElementById("blueField").addEventListener("wheel", secondFunction);
document.getElementById("redField").addEventListener("change", secondFunction);
document.getElementById("greenField").addEventListener("change", secondFunction);
document.getElementById("blueField").addEventListener("change", secondFunction);
function myFunction() {
var r = document.getElementById("red").value,
g = document.getElementById("green").value,
b = document.getElementById("blue").value;
document.getElementById("redField").value = r;
document.getElementById("greenField").value = g;
document.getElementById("blueField").value = b;
document.getElementById("box").style.backgroundColor = 'rgb(' + r + ',' + g + ',' + b + ')';
document.getElementById("box").style.boxShadow = '0 0 10px 0 rgb(' + r + ',' + g + ',' + b + ')';
}
function secondFunction() {
var r = document.getElementById("redField").value,
g = document.getElementById("greenField").value,
b = document.getElementById("blueField").value;
document.getElementById("red").value = r;
document.getElementById("green").value = g;
document.getElementById("blue").value = b;
document.getElementById("box").style.backgroundColor = 'rgb(' + r + ',' + g + ',' + b + ')';
}