I have a filtering button system for my gallery (as seen in the code below), but how do I add another button filter above this current sub filter.
Example:
1st filtering level: Beginner | Mid | Advanced
2nd filtering level: Upper-body | Lower-body | Core | Stretch (code for this level is done as seen below)
My code:
filterSelection("all")
function filterSelection(c) {
var x, i;
x = document.getElementsByClassName("column");
if (c == "all") c = "";
for (i = 0; i < x.length; i++) {
w3RemoveClass(x[i], "show");
if (x[i].className.indexOf(c) > -1) w3AddClass(x[i], "show");
}
}
function w3AddClass(element, name) {
var i, arr1, arr2;
arr1 = element.className.split(" ");
arr2 = name.split(" ");
for (i = 0; i < arr2.length; i++) {
if (arr1.indexOf(arr2[i]) == -1) {
element.className += " " + arr2[i];
}
}
}
function w3RemoveClass(element, name) {
var i, arr1, arr2;
arr1 = element.className.split(" ");
arr2 = name.split(" ");
for (i = 0; i < arr2.length; i++) {
while (arr1.indexOf(arr2[i]) > -1) {
arr1.splice(arr1.indexOf(arr2[i]), 1);
}
}
element.className = arr1.join(" ");
}
document.addEventListener("DOMContentLoaded", function() {
// Add active class to the current button (highlight it)
var btnContainer = document.getElementById("myBtnContainer");
var btns = btnContainer.getElementsByClassName("btn");
for (var i = 0; i < btns.length; i++) {
btns[i].addEventListener("click", function() {
var current = document.getElementsByClassName("active");
current[0].className = current[0].className.replace(" active", "");
this.className += " active";
});
}
filterSelection("all");
});
<div id="myBtnContainer">
<button class="btn mybtn active" onclick="filterSelection('all')"> Show all</button>
<button class="btn mybtn" onclick="filterSelection('lower-body')"> Lower Body</button>
<button class="btn mybtn" onclick="filterSelection('upper-body')"> Upper Body</button>
<button class="btn mybtn" onclick="filterSelection('core')"> Core</button>
<button class="btn mybtn" onclick="filterSelection('stretch')"> Stretch</button>
</div>
<!-- Portfolio Gallery Grid -->
<div class="row">
<div class="col-sm-6 col-md-4 column lower-body upper-body">
<div class="content">
<a href="" data-toggle="modal" data-target="#modalYT1 ">
<img src="https://via.placeholder.com/350x150?text=SingleBarPull-up " alt="Single Bar Pull-up" style="width:100%">
</a>
<h4>Single Bar Pull-up</h4>
</div>
</div>
<div class="col-sm-6 col-md-4 column upper-body stretch">
<div class="content">
<a href="" data-toggle="modal" data-target="#modalYT2">
<img src="https://via.placeholder.com/350x150?text=Adducters" alt="Adducters" style="width:100%">
</a>
<h4>Adducters</h4>
</div>
</div>
<div class="col-sm-6 col-md-4 column upper-body core">
<div class="content">
<a href="" data-toggle="modal" data-target="#modalYT3">
<img src="https://via.placeholder.com/350x150?text=KneeUps" alt="Knee Ups" style="width:100%">
</a>
<h4>Knee Ups</h4>
</div>
</div>
<div class="col-sm-6 col-md-4 column core lower-body">
<div class="content">
<a href="" data-toggle="modal" data-target="#modalYT4">
<img src="https://via.placeholder.com/350x150?text=InclinePush-up" alt="Incline Push-up" style="width:100%">
</a>
<h4>Incline Push-up</h4>
</div>
</div>
<!-- END ROW -->
</div>