Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не понимаю почему на мой взгляд не работают почти идентичный код (https://javascript.ru/forum/dom-window/79808-ne-ponimayu-pochemu-na-mojj-vzglyad-ne-rabotayut-pochti-identichnyjj-kod.html)

Сергей Ракипов 28.03.2020 06:34

Не понимаю почему на мой взгляд не работают почти идентичный код
 
Вот рабочий вариант

<input type="color"><button class="btn">Применить цвет</button>

document.querySelector(".btn").onclick = function(){
	let userColor = document.querySelector("input[type=color]").value;
	let body = document.querySelector("body");
	body.style.backgroundColor = userColor;
}



Вот не рабочий вариант

<input type="color" id="input_color"><button id="applay_color">Применить цвет</button>


let inputColor = document.querySelector("input[type=color]").value;
let applayColor = document.getElementById("applay_color");
let body = document.querySelector("body");


applayColor.onclick = change;


function change(){
	body.style.backgroundColor = inputColor;
}


Не понимаю почему в одному случае сработало в другом нет.

рони 28.03.2020 08:27

Сергей Ракипов,
второй код, вы сохранили в строке 1 значение, которого ещё нет.
код первый вы взяли значение на момент клика.

Сергей Ракипов 28.03.2020 08:49

Цитата:

Сообщение от рони (Сообщение 521852)
Сергей Ракипов,
второй код, вы сохранили в строке 1 значение, которого ещё нет.
код первый вы взяли значение на момент клика.

Да точно это же так логично !!! Спасибо


Часовой пояс GMT +3, время: 18:08.