Πώς να φιλτράρετε στοιχεία
- Previous page Filter table
- Next page Filter dropdown menu
Μάθετε πώς να φιλτράρετε στοιχεία με βάση τα ονόματα των κλάσεων.
Φιλτράρισμα DIV στοιχείων
BMW
Απόνιωμα
Volvo
Κόκκινο
Ford
Μπλε
Cat
Dog
Melon
Kiwi
Banana
Lemon
Cow
BYD
Δημιουργία διαφόρων DIV στοιχείων που μπορούν να φιλτράρονται
Βήμα 1 - Προσθήκη HTML:
<!-- Κουμπιά ελέγχου --> <div id="myBtnContainer"> <button class="btn active" onclick="filterSelection('all')"> Εμφάνιση όλων</button> <button class="btn" onclick="filterSelection('cars')"> Αυτοκίνητα</button> <button class="btn" onclick="filterSelection('animals')"> Ζώα</button> <button class="btn" onclick="filterSelection('fruits')"> Φρούτα</button> <button class="btn" onclick="filterSelection('colors')"> Χρώματα</button> </div> <!-- Εφαρμόσιμα στοιχεία. Προσέξτε, μερικά έχουν πολλές κλάσεις (αν ανήκουν σε πολλές κατηγορίες, μπορείτε να χρησιμοποιήσετε αυτές τις κλάσεις) --> <div class="container"> <div class="filterDiv cars">BMW</div> <div class="filterDiv colors fruits">Απόνιωμα</div> <div class="filterDiv cars">Volvo</div> <div class="filterDiv colors">Κόκκινο</div> <div class="filterDiv cars">Ford</div> <div class="filterDiv colors">Μπλε</div> <div class="filterDiv animals">Cat</div> <div class="filterDiv animals">Dog</div> <div class="filterDiv fruits">Melon</div> <div class="filterDiv fruits animals">Kiwi</div> <div class="filterDiv fruits">Banana</div> <div class="filterDiv fruits">Lemon</div> <div class="filterDiv animals">Cow</div> </div>
Δεύτερο Βήμα - Προσθήκη CSS:
.container { περιστροφή: κρυμμένο; } .filterDiv { πλεονεκτήματα: αριστερά; χρώμα 배γκαίν: #2196F3; χρώμα: #ffffff; πλάτος: 100px; ύψος γραμμής: 100px; συγχρονισμός κειμένου: κέντρο; διαστάσεις: 2px; προσθήκη: none; /* Προεπιλεγμένο κρυμμένο */ } /* Προσθήκη κλάσης "show" στους φιλτραρισμένους στοιχεία */ .show { προσθήκη: block; } /* Ρύθμιση στυλ κουμπιών */ .btn { χαράκια: none; σκιές: none; χώρος: 12px 16px; χρώμα 배경: #f1f1f1; δεικτής: pointer; } /* Προσθήκη ανοιχτού γκρι φόντου όταν το ποντίκι είναι επίповδα */ .btn:hover { χρώμα 배경: #ddd; } /* Προσθήκη σκοτεινού φόντου στο ενεργό κουμπί */ .btn.active { χρώμα 배경: #666; χρώμα: λευκό; }
Τρίτη Βήμα - Προσθήκη JavaScript:
filterSelection("all") function filterSelection(c) { var x, i; x = document.getElementsByClassName("filterDiv"); if (c == "all") c = ""; // Προσθήκη της κλάσης "show" στα φιλτραρισμένα στοιχεία (display:block) και αφαίρεση της κλάσης "show" από τα μη επιλεγμένα στοιχεία 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(" "); } // Αποσύνδεση της κατηγορίας κινήματος από το τρέχον κουμπί (με έντονες εμφάνιση) 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"; }); }
- Previous page Filter table
- Next page Filter dropdown menu