니꼬쌤이 이제 prompt는 안쓴다고 했지만 너무 신기한 것 !!
// Q)curruntColor 라는 변수를 지정하지 않고 그냥 if문에 title.style.color === BASE_COLOR 라고 조건 달아도 되나요? 될 거 같은데 작동을 안 하네요
// A) BASE_COLOR is on #HEX format and title.style.color expects RGB
const title = document.querySelector("#title");
const BASE_COLOR = "rgb(52, 73, 94)";
const OTHER_COLOR = "#fff200";
function handleClick(){
const current = title.style.color;
if(current === BASE_COLOR){
title.innerHTML = "It will be sunny";
title.style.color = OTHER_COLOR;
}else{
title.innerHTML = "today, It's rainy";
title.style.color = BASE_COLOR;
}
}
function init(){
title.style.color = BASE_COLOR;
title.addEventListener("click",handleClick);
}
init();
const title = document.querySelector("#title"); // #주의!!
const CLICKED_CLASS = "clicked";
function handleClick(){
/*
첫번째 방법
const currentClass = title.className;
// 이 경우일 때 주황색으로 바뀌지만 다시 파랑으로 바뀌지 않는 이유는
// currentClass가 btn clicked 상태이기 때문이다.
if(currentClass !== CLICKED_CLASS){
title.classList.add(CLICKED_CLASS);
}else{
title.classList.remove(CLICKED_CLASS);
}
*/
/*
두번째 방법
const hasClass = title.classList.contains(CLICKED_CLASS);
if(hasClass){
title.classList.remove(CLICKED_CLASS);
}else{
title.classList.add(CLICKED_CLASS);
}
*/
// 마지막 방법
title.classList.toggle(CLICKED_CLASS);
}
title.addEventListener("click",handleClick)
'공부 > VanillaJS' 카테고리의 다른 글
[바닐라JS 2주 완성반]3.0-3.1 (0) | 2020.08.12 |
---|---|
[바닐라JS 2주 완성반_Day3]2.0-2.4 (0) | 2020.08.06 |
[바닐라JS 2주 완성반_Day2]1.6-1.10 (0) | 2020.08.05 |
[바닐라 JS 2주 완성반_Day1]1.1-1.5 (0) | 2020.08.03 |