티스토리 뷰

https://garenchoi.github.io/webs_class/javascript/effect/searchEffect03.html


const searchBox = document.querySelectorAll(".search span");    //알파벳 버튼들
const cssList = document.querySelectorAll(".list ul li");   //속성 리스트들  
const cssCount = document.querySelector(".count em");       //속성 갯수

//모든 데이터 보이기
cssList.forEach((li, index) => {				//cssList의 li(CSS속성 리스트들), index(CSS속성 갯수) 값 설정
	li.classList.add("show");					//li에 클래스 show 추가
    cssCount.innerHTML = index + 1;				//index에 1을 더한 후 em에 출력
})
        
//알파벳을 클릭하면 클릭한 데이터 값 가져오기
searchBox.forEach(el => {					//searchBox의 element값을 el로 설정 
	el.addEventListener("click", () => {		//사용자가 클릭했을 때 이벤트 설정
   		const searchWord = el.innerText;        //searchWord에 알파벳 버튼들 저장

		cssList.forEach(el => {				//cssList의 element값을 el로 설정
    		const cssName = el.dataset.name;    //cssName에 el의 name을 저장
        	const cssType = el.dataset.type;	//cssName에 el의 type을 저장

			//알파벳 첫글자 == CSS 속성의 첫글자(a)
        	if(searchWord.charAt(0) === cssName.charAt(0) || searchWord.charAt(0) === cssType.charAt(0)){	
            //searchWord의 첫글자와 cssName의 첫글자가 같거나 searchWord와 cssType의 첫글자가 같으면
            	el.classList.add("show");		//el에 클래스 show 추가
            } else {							//그렇지 않다면
            	el.classList.remove("show");	//el에 클래스 show 삭제
            }
        })
    })
})

'Script Sample > Search Effect' 카테고리의 다른 글

searchEffect06 - sort(), reverse()  (0) 2022.02.15
searchEffect05 - filter()  (0) 2022.02.10
searchEffect04 - find()  (0) 2022.02.08
searchEffect02 - includes()  (7) 2022.02.07
searchEffect01 - indexOf()  (6) 2022.02.07
댓글
© 2018 webstoryboy