본문 바로가기
Effect

searchEffect - 06

by 코딩 냠냠 2022. 10. 20.
728x90
반응형

스크립트를 이용한 서치효과 만들기 06

스크립트를 이용하여 CSS 태그를 검색하는 효과를 만들 수 있습니다.

Script

const cssList = document.querySelector(".search__list .line");
let cssProp = [];
//데이터 출력하기
const updateList = () => {

    let listCSS = "";

    cssProperty.forEach((data, index) => {
        listCSS += `<li> ${data.num}. ${data.name} : ${data.desc} </li>`;
        cssProp.push(`<li>${data.num}. ${data.name} : ${data.desc}</li>`);
    });
    cssList.innerHTML = listCSS;

}
updateList();

//반대로 정렬 클릭
document.querySelector(".btn1").addEventListener("click", () => {
    cssProperty.reverse();
    updateList();
});

//오름차순 정렬 클릭
document.querySelector(".btn2").addEventListener("click", () => {
    cssProperty.sort((a,b) => {
        return a.num - b.num;
    });
    updateList();
});

//내림차순 정렬 클릭
document.querySelector(".btn3").addEventListener("click", () => {
    cssProperty.sort((a,b) => {
        return b.num - a.num;
    });
    updateList();
});

// 알파벳(a-z) 정렬
function sortAlphabet() {
    cssProperty.sort(function (a, b) {
        if (a.name > b.name) return 1;
        else if (a.name < b.name) return -1;
        else return 0;
    });
    updateList();
}
// 알파벳(z-a) 정렬
function sortAlphabetZ() {
    cssProperty.sort(function (a, b) {
        if (a.name < b.name) return 1;
        else if (a.name > b.name) return -1;
        else return 0;
    });
    updateList();
}
// 알파벳(a-z) 정렬
document.querySelector(".btn4").addEventListener("click", () => {
    sortAlphabet();
});
// 알파벳(z-a) 정렬
document.querySelector(".btn5").addEventListener("click", () => {
    sortAlphabetZ();
});

//피셔 에이츠 알고리즘

document.querySelector(".btn6").addEventListener("click", (e) => {

function shuffle(data){
    for(let i=data.length-1; i>=0; i--){
        const randomIndex = Math.floor(Math.random() * (i + 1));
        // console.log(randomIndex)
        [data[i], data[randomIndex]] = [data[randomIndex], data[i]];    //중복되는걸 방지 - 배열구조분해할당
        cssList.innerHTML += data[i];
    }
}
    e.preventDefault();
    cssList.innerHTML = ""; //클릭하면 비워줌
    shuffle(cssProp)       // 섞어서 데이터 전달
})

'Effect' 카테고리의 다른 글

gameEffect - 뮤직플레이어 만들기  (1) 2022.10.23
searchEffect - 07  (1) 2022.10.21
sliderEffect - 05  (1) 2022.10.20
searchEffect - 04  (4) 2022.09.29
mouseEffect - 05  (2) 2022.09.29

댓글


자바스크립트

Javascript

자세히 보기
html
css
광고 준비중입니다.
<