티스토리 뷰
const searchBox = document.querySelector("#search-box"); // 사용자의 입력 칸에 대한 태그의 search-box 아이디 이름을 불러온다
const cssList = document.querySelectorAll(".list ul li"); // li의 data-name(검색할 속성의 데이터) 값
const cssCount = document.querySelector(".count em"); // 전체 속성의 개수
cssList.forEach((element, index) => { // 검색할 전체 속성의 데이터(element), 속성이 저장된 값의 배열 인덱스(index)
element.classList.add("show"); // 요소에 show 클래스 이름을 추가
cssCount.innerHTML = index + 1; // cssList의 인덱스 개수 + 1 (배열 공간에 데이터가 저장될때 항상 0번지부터 저장된다)
});
searchBox.addEventListener("keyup", () => { // 키를 눌렀다가 떼었을때
const searchWord = searchBox.value; // 사용자가 입력한 값을 저장한다
cssList.forEach((ele) => { // 전체 속성의 데이터들에 접근
const cssName = ele.dataset.name; // css 속성 값을 cssName에 저장
if (cssName.includes(searchWord)) { // 사용자가 입력한 값이 cssName에 있을 경우
ele.classList.add("show"); // 각 요소들에 show 클래스 이름을 추가
} else {
ele.classList.remove("show"); // 없을경우 show 이름 삭제
}
});
});
'Script Sample > Search Effect' 카테고리의 다른 글
searchEffect06 - sort() / reverse() (0) | 2022.02.15 |
---|---|
searchEffect05 - filter() (0) | 2022.02.15 |
searchEffect04 - find() (0) | 2022.02.08 |
searchEffect03 - charAt() (0) | 2022.02.08 |
searchEffect01 - IndexOf() (2) | 2022.02.07 |
댓글
© 2018 webstoryboy