티스토리 뷰
const cssProperty = [
{name: "accent-color", desc: "accent-color 속성은 일부 사용자 인터페이스 컨트롤의 액센트 색상을 설정합니다."},
{name: "align-content", desc: "align-content 속성은 콘텐츠 항목 사이 및 주위의 공간 분포를 설정합니다."},
{name: "align-items", desc: "align-items 속성은 모든 직계 자식의 align-self 값을 그룹으로 설정합니다."},
//중략...
]
const searchBox = document.querySelectorAll(".search span"); //검색버튼(#search_box)을 변수(searchBox)에 저장
const cssList = document.querySelector(".list ul"); //속성의 리스트를 변수(cssList)에 저장
const cssCount = document.querySelector(".count em"); //전체 속성 갯수(.count)를 변수(cssCount)에 저장
let listHTML = ""; //변수(listHTML) 선언
//목록 보여주기
function upDataList(list){ //함수(upDataList) 정의
listHTML = ""; //변수(listHTML) 리셋
//반복문: 변수(list)의 수만끔 반복실행
for(const data of list){
listHTML += `<li>${data.name} : ${data.desc} <span>${data.view}</span></li>`; //변수(listHTML)에 데이터 추가
}
// for(let i=0; data<cssProperty.length i++){
// listHTML += `<li>1</li>`;
// }
// cssProperty.forEach(el => {
// listHTML += `<li>1</li>`;
// })
cssList.innerHTML = listHTML; //변수(cssList)에 변수(listHTML)를 저장하여 HTML문서에 표현(innerHTML)
};
upDataList(cssProperty); //함수(upDataList)를 변수(cssProperty)에 대하여 실행
//버튼 클릭하기
searchBox.forEach(span => { //검색버튼(#search_box)에 대하여
span.addEventListener("click", () => { //검색버튼(#search_box)의 값을 클릭하는(click) 이벤트 발생하는 경우(addEventListener)
const target = span.dataset.view //변수(target)에 클릭한 검색버튼(#search_box)의 값 중에서 뷰값(dataset.view)을 저장
const filterList = cssProperty.filter(data => data.view >=target) //변수(filterList)에 변수(cssProperty)의 뷰값(dataset.view)이 변수(target)보가 크거나 같으면 찾아서(filter) 저장
upDataList(filterList); //함수(upDataList)를 변수(filterList)에 대하여 실행
});
});
'Script Sample > Search Effect' 카테고리의 다른 글
Search Effect06 - sort( ) / reverse( ) (0) | 2022.02.15 |
---|---|
Search Effect04 - find( ) (0) | 2022.02.08 |
Search Effect03 - charAt( ) (0) | 2022.02.08 |
Search Effect02 - includes( ) (0) | 2022.02.07 |
Search Effect01 - indexOf( ) (0) | 2022.02.07 |
댓글
© 2018 webstoryboy