🌿 이벤트 리스너와 스크롤 감지

이벤트 리스너(EventListener)

이벤트 리스너는 웹 페이지에서 사용자의 특정 행동(이벤트)을 감지하고, 그에 대한 반응을 정의하는 코드입니다. 이벤트는 클릭, 입력, 마우스 오버 등 다양한 종류가 있으며, 이벤트 리스너는 이러한 이벤트가 발생할 때 자동으로 실행되는 함수를 설정할 수 있습니다.

// 윈도우
window.addEventListener("scroll" , () => { ... })

// 엘리먼트
window.document
	.getElementById("HTML_나의디브")
	.addEventListener("scroll", () => { ... });

위 예시를 보면, window.addEventListener("scroll", () => { ... }); 이 부분은 스크롤 이벤트를 감지하는 이벤트 리스너를 설정합니다.(엘리먼트도 동일하게 생각해주면 됩니다.)

스크롤 감지

// 윈도우
window.addEventListener("scroll" , () => {
	const 스크롤내려간길이 = window.scrollY;
	console.log(`스크롤이 ${스크롤내려간길이}만큼 내려갔습니다.`);
	
	if(스크롤내려간길이 > 0) {
		document.getElementById("HTML_이미지상자").style = "border: 20px solid red;";
	} else {
		document.getElementById("HTML_이미지상자").style = "border: none;";
	}
})

// 엘리먼트
window.document
	.getElementById("HTML_나의디브")
	.addEventListener("scroll", () => {
		const 스크롤내려간길이 =
			window.document.getElementById("HTML_나의디브").scrollTop;
		console.log(`스크롤이 ${스크롤내려간길이}만큼 내려갔습니다.`);

		if (스크롤내려간길이 > 0) {
			document.getElementById("HTML_이미지상자").style =
				"border: 20px solid red;";
		} else {
			document.getElementById("HTML_이미지상자").style =
				"border: none;";
		}
});

📝 실습 코드