Skip to content

Instantly share code, notes, and snippets.

@davidchc
Last active August 6, 2020 02:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davidchc/fdf333bace8ffa8f8104e3414fd0463e to your computer and use it in GitHub Desktop.
Save davidchc/fdf333bace8ffa8f8104e3414fd0463e to your computer and use it in GitHub Desktop.
Exemplo como cria filtros baseado ao clicar num link, filtrando pelo conteudo
(function(){
//Seleciona todos os elementos que tem data-list pra definir o filtro
const items = document.querySelectorAll("a[data-list]");
//seleciona todos os cards que serão exibidos ou não
const cards = document.querySelectorAll(".card");
//perccore cada link e aplica um evento click
items.forEach(item => item.addEventListener('click', clickElement) );
//Cria uma função com ação quando clicar no link
function clickElement(e){
e.preventDefault();
//pega o valor data-list do click quando clicado
const tag = e.target.dataset.list;
//percorre cada item e aplica a verificação se exibir ou não o card
cards.forEach( card => cardVisibleToggle(card, tag) );
}
//Função para verificar se exibir ou não um card, através da classe
function cardVisibleToggle(card, tag){
if(card.classList.contains(tag)) {
card.style.display = 'block';
} else {
card.style.display = 'none';
}
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment