front-end/JavaScript

#2.5 CSS in Javascript

gaan 2022. 7. 6. 02:43

CSS in Javascript

function handleTitleClick() {
	const currentColor = h1.style.color;
    let newColor;
    if (currentColor === "blue") {
    	newColor = "tomato";
    } else {
    	newColor = "blue";
    }
    h1.style.color = newColor;
}

h1.addEventListener("click", handleTitleClick);

 


**

- raw string이 반복되면 상수로 만들어 주자.

 

JS는 string이 오타나면 오류라고 알려주지 않는다.

하지만, 변수명이 오타나면 오류라고 알려준다.

 

 


what is toggle

- toggle 사용 전

const h1 = document.querySelector("div.hello:first-child h1");

function handleTitleClick() {
	const clickedClass = "clicked";
    
    // h1의 classList에 class name이 포함되었다면,
    if (h1.classList.contains(clickedClass)) {  
    	h1.classList.remove(clickedClass);  // 제거함.
    } else {			// 포함되지 않았다면,
    	h1.classList.add(clickedClass);	 // 추가함.
    }
}


h1.addEventListener("click", handleTitleClick);

- toggle 사용

const h1 = document.querySelector("div.hello:first-child h1");

function handleTitleClick() {
	h1.classList.toggle("clicked");
}

h1.addEventListener("click", handleTitleClick);

-> h1의 classList에 clicked class 가 이미 있는지 확인

-> 있다면, toggle이 clicked를 classList에서 제거해줌.

-> 없다면, toggle이 clicked를 classList에서 추가해줌.