<과제 조건> 웹 페이지의 너비 변화마다 color변화 주기 페이지의 너비가 1152를 넘어가는 경우 yellow, 너비가 1152보다는 작지만 768을 넘어가는 경우 purple, 너비가 768보다 작으면 blue로 웹 페이지의 색이 변하도록 하고 싶다. <참고> classList : 요소에 적용된 클래스들의 이름을 리스트 형태로 반환해 줍니다. remove : classList의 메서드입니다. classList를 통해 반환된 리스트 중에서 원하는 클래스를 제거할 수 있습니다. add : classList의 메서드입니다. classList의 리스트에 원하는 클래스를 추가할 수 있습니다. innerWidth : 브라우저의 가로 길이를 나타내는 Window 객체의 프로퍼티입니다.
→ querySelector로 h1에 class 지정해준걸로 불러와서 h1으로 지정해두고, 함수 h1ColorChange가 작동되면 글자 색이 변하도록 하고, 함수의 작동은 window.addEventListener("resize", h1ColorChange);로 window에 이벤트를 주어서 사이즈가 변하면 해당 함수를 실행하도록 했다.
// app.js
const color = document.querySelector(".color");
const h1 = document.querySelector(".hello");
function sizeColorChange() {
if (window.innerWidth > 1152) {
color.className = "max";
} else if (1152 > window.innerWidth && window.innerWidth > 768) {
color.className = "middle";
} else if (window.innerWidth < 768) {
color.className = "mini";
}
};
function h1ColorChange() {
h1.style.color = "white";
};
window.addEventListener("resize", sizeColorChange);
window.addEventListener("resize", h1ColorChange);
→ css파일에서 h1에 기본으로 부여했던거 삭제(삭제함으로써 기본인 검정이 되고 이벤트가 실행되야 흰색으로 바뀜)
😀 많이 어려운 과제는 아니지만 기억 안쪽에 있는,,, 걸 아주 많이 상기시켜줘서 다시 복기해보는 기회라 생각되어 너무 만족하는 챌린지이다!!! className와 querySelector, window객체에 대해 다시 찾아보는 시간이어서 유익했고 어제 과제를 응용도 해봐서 머리에 잘 남을 것 같다.