Bagaimana untuk membuat: Menu pencarian

Belajar cara menggunakan JavaScript untuk membuat menu pencarian untuk memfilter tautan.

Cari/Filter Menu

Bagaimana untuk mencari tautan di menu navigasi:

Konten Halaman

Masukkan kategori/koneksi spesifik di dalam kotak pencarian untuk "filter" opsi pencarian.

Teks lain..Teks lain..Teks lain..Teks lain..Teks lain..Teks lain..Teks lain..Teks lain..

Teks lain lain..Teks lain..Teks lain..Teks lain..Teks lain..Teks lain..Teks lain..Teks lain..

Teks lain..

Coba sendiri

Buat menu pencarian

Langkah pertama - Tambahkan HTML:

<input type="text" id="mySearch" onkeyup="myFunction()" placeholder="Search.." title="Type in a category">
<ul id="myMenu">
  <li><a href="#">HTML</a></li>
  <li><a href="#">CSS</a></li>
  <li><a href="#">JavaScript</a></li>
  <li><a href="#">PHP</a></li>
  <li><a href="#">Python</a></li>
  <li><a href="#">jQuery</a></li>
  <li><a href="#">SQL</a></li>
  <li><a href="#">Bootstrap</a></li>
  <li><a href="#">Node.js</a></li>
</ul>

Perhatian:Dalam demonstrasi ini, kami menggunakan href="#"karena kami tidak memiliki halaman yang dapat dihubungkan. Dalam situasi nyata, ini seharusnya adalah URL yang sebenarnya untuk halaman tertentu.

Tahap kedua - Tambahkan CSS:

Atur gaya kotak pencarian dan menu navigasi:

/* Atur gaya kotak pencarian */
#mySearch {
  width: 100%;
  font-size: 18px;
  padding: 11px;
  border: 1px solid #ddd;
}
/* Atur gaya menu navigasi */
#myMenu {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
/* Atur gaya tautan navigasi */
#myMenu li a {
  padding: 12px;
  text-decoration: none;
  color: black;
  display: block
}
#myMenu li a:hover {
  background-color: #eee;
}

Tahap ketiga - Tambahkan JavaScript:

<script>
function myFunction() {
  // Deklarasi variabel
  var input, filter, ul, li, a, i;
  input = document.getElementById("mySearch");
  filter = input.value.toUpperCase();
  ul = document.getElementById("myMenu");
  li = ul.getElementsByTagName("li");
  // Melooping melalui semua item daftar, dan menyembunyikan item yang tidak cocok dengan permintaan pencarian
  for (i = 0; i < li.length; i++) {
    a = li[i].getElementsByTagName("a")[0];
    if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
      li[i].style.display = "";
    } else {
      li[i].style.display = "none";
    }
  }
}
</script>

Coba sendiri

Petunjuk:Jika Anda ingin melaksanakan pencarian yang membedakan huruf besar dan kecil, silakan hapus toUpperCase()

Halaman yang berhubungan

Panduan:Bagaimana untuk menyaring tabel

Panduan:Bagaimana untuk menyaring daftar