ఎలా ఫిల్టర్ చేయాలి

క్లాస్ పేర్లపై బేస్ చేయడం నేర్చుకోండి

డివ్ అంశాలను ఫిల్టర్ చేయండి

బిఎమ్డబ్ల్యూ
నారింజ
వోల్వో
ఎరుపు
ఫోర్డ్
నీలి
కేట్
డోగ్
మెలన్
కీవీ
బానానా
లీమన్
కో వు
బియిడ్

亲自试一试

ఫిల్టర్ చేయగల డివ్ అంశాలు సృష్టించండి

మొదటి చర్య - హ్ట్మ్ల్ జోడించండి:

<!-- కంట్రోల్ బటన్లు -->
<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">బిఎమ్డబ్ల్యూ</div>
  <div class="filterDiv colors fruits">నారింజ</div>
  <div class="filterDiv cars">వోల్వో</div>
  <div class="filterDiv colors">ఎరుపు</div>
  <div class="filterDiv cars">ఫోర్డ్</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>

రెండవ దశ - సిఎస్ఎస్ జోడించండి:

.container {
  ఓవర్ఫ్లో: హాయిడ్;
}
.filterDiv {
  ఫ్లోట్: లెఫ్ట్;
  బ్యాక్గ్రౌండ్-కలర్: #2196F3;
  రంగు: #ffffff;
  వైడ్త్: 100px;
  లైన్-హై: 100px;
  టెక్స్ట్-అలయిన్: సెంటర్;
  మార్గం: 2px;
  డిస్ప్లే: నాన్; /* డిఫాల్ట్ అమలు */
}
/* ఫిల్టర్ పరిణామానికి శో క్లాస్ జోడించండి */
.show {
  డిస్ప్లే: బ్లాక్;
}
/* బటన్ స్టైల్స్ సెట్ చేయండి */
.btn {
  బార్: నాన్;
  ఆఉట్లైన్: నాన్;
  ప్యాడింగ్: 12px 16px;
  బ్యాక్గ్రౌండ్-కలర్: #f1f1f1;
  కర్సర్: పాయింటర్;
}
/* మౌస్ హోవర్ విధంగా మినీ గ్రే బ్యాక్గ్రౌండ్ జోడించండి */
.btn:hover {
  బ్యాక్గ్రౌండ్-కలర్: #ddd;
}
/* చెల్లని బటన్ను కాలర్ బ్యాక్గ్రౌండ్ జోడించండి */
.btn.active {
  బ్యాక్గ్రౌండ్-కలర్: #666;
  రంగు: తెలుపు;
}

మూడో దశ - జావాస్క్రిప్ట్ జోడించండి:

filterSelection("all")
function filterSelection(c) {
  var x, i;
  x = document.getElementsByClassName("filterDiv");
  if (c == "all") c = "";
  // సంక్షోభం పరిమితిలోని అంశాలకు "show" క్లాస్ జోడించండి (ప్రదర్శించండి) మరియు ఎంపిక కాని అంశాల నుండి "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";
  });
}

亲自试一试