티스토리 뷰


const cssProperty = [
{name: "all", desc:"all 속성은 CSS 속성을 재설정하는 데 사용할 수 있는 약식 속성입니다."},
{name: "animation", desc:"animation 속성은 애니메이션 속성을 설정하기 위한 약식 속성입니다."},
{name: "animation-delay", desc:"animation-delay 속성은 애니메이션이 시작되는 시간을 설정합니다."},
.
.
생략.
]

const searchBox = document.querySelector("#search-box"); //서치박스를 변수로 지정
const cssCount = document.querySelector(".count"); //갯수가 출력되는 요소를 변수로 지정
const cssDesc = document.querySelector(".desc"); //설명 영역을 변수로 지정
const cssList = document.querySelector(".list"); //속성 리스트를 변수로 지정

//CSS 속성 값/전체 갯수 출력하기
	cssProperty.map((element, index) => {  //map를 이용해서 element와 index 불러오기
	cssCount.innerText = "전체 목록 갯수 : "+ (index+1) +"개" 
	cssList.innerHTML += "<span>"+ element.name +"</span>"
	});
	//사용자가 검색한 값
	searchBox.addEventListener("keyup", ()=>{ //keyup 이벤트를 했을 때를 지정.
	const searchWord = searchBox.value;    //서치박스에 들어오는 입력값을 변수로 지정.
	// console.log(searchWord);

	findProp(searchWord);  // 입력값 변수를 매개변수로 지정해서 함수를 실행.      
	});

	//리스트를 클릭하면 설명 영역에 바로 설명이 들어오게.
	document.querySelectorAll(".list span").forEach(span=>{
		span.addEventListener("click", ()=>{
		//클릭한 데이터 값을 가져오기
		const listPorp = span.innerText;

		findProp(listPorp);
		})
	})

	//findProp 함수 
	function  findProp(searchWord){
	const targetData = cssProperty.find((data)=>data.name === searchWord); //사용자가 입력한 값 == CSS 속성 값

	//찾는 데이터가 없을 때
	if(targetData == null){ //입력한 값이 null 일때 if문을 작성.
		cssDesc.textContent = "해당 속성은 존재하지 않습니다. 다시 검색해 주세요!" //설명 영역에 텍스트를 출력.
		return;
		}
	cssDesc.innerHTML = targetData.desc; //설명 영역에 서치박스에 입력한 속성의 설명을 출력.
	// cssDesc.innerText = 
	// cssDesc.textContent = 
	}

find( )참고

 

자바스크립트

 

gwni0214.github.io

find () 메서드는 지난번에 만들어본 charAt()과 다르게 속성의 이름을 다 기입해야만 찾아서 나오는 메서드입니다. 더 정확한 값을 얻을 수 있지만 일일이 다 입력해야 하는 번거로움이 있습니다. 

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

SearchEffect06- sort( ),reverse( )  (0) 2022.02.11
SearchEffect05- filter( )  (2) 2022.02.10
SearchEffect03- charAt( )  (0) 2022.02.08
SearchEffect02- includes()  (9) 2022.02.07
SearchEffect01- indexOf()  (3) 2022.02.07
댓글
© 2018 webstoryboy