چگونه ایجاد کنیم: منوی جستجو

آموزش نحوه استفاده از JavaScript برای ایجاد منوی جستجو برای فیلتر کردن لینک‌ها.

جستجو/فیلتر کردن منو

چگونه در منوی ناوبری به لینک‌ها جستجو کنیم:

محتوای صفحه

لطفاً در نوار جستجو، دسته‌بندی/لینک خاص را برای "فیلتر کردن" گزینه‌های جستجو وارد کنید.

متن برخی...متن دیگر...متن برخی...متن دیگر...متن برخی...متن دیگر...متن برخی...متن دیگر...

متن دیگر...متن برخی...متن برخی...متن برخی...متن برخی...متن برخی...متن برخی...متن برخی...

متن برخی...

آزمایش کنید

ایجاد منوی جستجو

قدم اول - اضافه کردن 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>

توجه داشته باشید:در این نمایش، ما از href="#"، زیرا ما صفحه‌ای برای لینک دادن نداریم. در عملیات واقعی، این باید URL واقعی صفحه خاص باشد.

مرحله دوم - اضافه کردن CSS:

تنظیمات استایل برای جعبه جستجو و منو ناوبری:

/* تنظیمات استایل برای جعبه جستجو */
#mySearch {
  width: 100%;
  font-size: 18px;
  padding: 11px;
  border: 1px solid #ddd;
}
/* تنظیمات استایل برای منو ناوبری */
#myMenu {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
/* تنظیمات استایل برای لینک‌های ناوبری */
#myMenu li a {
  padding: 12px;
  text-decoration: none;
  color: black;
  display: block
}
#myMenu li a:hover {
  background-color: #eee;
}

مرحله سوم - اضافه کردن JavaScript:

<script>
function myFunction() {
  // متغیرها را اعلام کنید
  var input, filter, ul, li, a, i;
  input = document.getElementById("mySearch");
  filter = input.value.toUpperCase();
  ul = document.getElementById("myMenu");
  li = ul.getElementsByTagName("li");
  // همه موارد لیست را در یک چرخه بررسی کنید و آن‌هایی که با جستجوی شما مطابقت ندارند را پنهان کنید
  برای (i = 0; i < li.length; i++) {
    a = li[i].getElementsByTagName("a")[0];
    اگر (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
      li[i].style.display = "";
    } else {
      li[i].style.display = "none";
    }
  }
}
</script>

آزمایش کنید

توجه:اگر می‌خواهید جستجوی با توجه به حروف بزرگ و کوچک را انجام دهید، لطفاً toUpperCase()

صفحات مرتبط

تدریس:چگونه جدول را فیلتر کنید

تدریس:چگونه لیست‌ها را فیلتر کنید