DOM 조작을 활용한 실시간 검색 기능 구현하기 🔍
웹 개발의 세계에서, 사용자 경험을 향상시키는 것은 매우 중요합니다. 오늘은 DOM(Document Object Model) 조작을 활용하여 사용자가 입력하는 즉시 결과를 보여주는 실시간 검색 기능을 구현하는 방법을 배워보겠습니다. 이 기능은 웹사이트에서 정보를 빠르게 찾고자 하는 사용자에게 매우 유용합니다.
시작하기 전에
실시간 검색 기능을 구현하기 위해 기본적인 HTML, CSS, 그리고 JavaScript 지식이 필요합니다. DOM 조작은 JavaScript를 사용하여 웹 페이지의 구조, 스타일 또는 내용을 동적으로 변경하는 방법입니다.
HTML 구조
먼저, 검색 입력 필드와 결과를 보여줄 공간을 마련해야 합니다. 아래는 간단한 HTML 구조입니다.
<div>
<input type="text" id="searchBox" placeholder="검색...">
<ul id="resultList"></ul>
</div>
JavaScript로 실시간 검색 구현
이제 JavaScript를 사용하여 실시간 검색 기능을 구현해봅시다. input
요소에 입력이 있을 때마다 이벤트 리스너를 추가하여 검색 결과를 동적으로 업데이트합니다.
document.getElementById('searchBox').addEventListener('input', function(e) {
var searchQuery = e.target.value.toLowerCase();
var resultList = document.getElementById('resultList');
// 검색 결과를 초기화
resultList.innerHTML = '';
// 검색어가 있을 경우에만 검색 실행
if (searchQuery.length > 0) {
// 여기에 검색 로직을 추가하세요. 예를 들어:
var results = ['HTML', 'CSS', 'JavaScript']; // 가상의 검색 결과
results.forEach(function(item) {
if(item.toLowerCase().includes(searchQuery)) {
var li = document.createElement('li');
li.textContent = item;
resultList.appendChild(li);
}
});
}
});
위 코드는 사용자가 검색 상자에 입력할 때마다 input
이벤트를 감지하고, 해당 입력값을 기반으로 검색 결과를 필터링하여 화면에 표시합니다. 여기서는 간단히 results
배열을 검색 결과로 사용했지만, 실제 애플리케이션에서는 서버에서 데이터를 가져와 필터링할 수 있습니다.
마무리
실시간 검색 기능은 사용자가 원하는 정보를 빠르게 찾을 수 있도록 도와줍니다. 오늘 배운 DOM 조작 기술을 활용하여 사용자 경험을 개선하는 다양한 기능을 구현해보세요. 기술적인 용어를 최소화하고, 실제 코드 예시를 통해 설명함으로써, 주니어 개발자들도 쉽게 이해하고 적용할 수 있습니다. Happy coding!