Причина, по которой цикл while(1)
дает сбой вашему браузеру, заключается в том, что JavaScript является однопоточным. Это означает, что весь ваш JavaScript выполняется последовательно. Вы никогда не сможете запустить две функции JavaScript одновременно.
Итак, while(1)
блокирует выполнение всего вашего другого JavaScript и даже останавливает саму веб-страницу, потому что она блокирует все события браузера.
То, что вы хотите сделать, это вызывать функцию только при изменении цвета ввода:)
Это будет выглядеть так:
HTML:
<input type="color" id="colorpickerbutton" name="color" onChange="changeColor(this.value)">
JavaScript:
function changeColor(newColor) {
document.getElementById("overlay").style.backgroundColor = newColor;
}