Skip to content

Instantly share code, notes, and snippets.

@twentyfortysix
Created April 7, 2020 13:16
Show Gist options
  • Save twentyfortysix/9dcf46c5ecd1b9bc1f0936e9c2f6212d to your computer and use it in GitHub Desktop.
Save twentyfortysix/9dcf46c5ecd1b9bc1f0936e9c2f6212d to your computer and use it in GitHub Desktop.
<script>
jQuery(document).ready(function($) {
function findCommonElement(filters,classes) {
var result = true;
for(let i = 0; i < filters.length; i++) {
if(!classes.includes(filters[i])){
result = false;
break;
}
}
return result;
}
var filters = [];
$('.bits').click(function (e) {
e.preventDefault();
var thisFilter = $(this).attr('data-filter');
// add || remove from the filter array
if(!filters.includes(thisFilter)){
filters.push(thisFilter)
$(this).addClass('active')
}else{
filters = filters.filter(function(value, index, arr){ return value != thisFilter;})
$(this).removeClass('active')
}
$('.game').each(function(index, val) {
if(filters.length == 0){
$(this).attr('data-active', '')
}else{
var rawClass = $(this).attr('class');
var classes = rawClass.split(' ');
if(!findCommonElement(filters, classes)){
$(this).attr('data-active', 'false')
}else{
$(this).attr('data-active', '')
}
}
});
});
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment