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

آموزش نحوه استفاده از 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() {
  // متغیرها را تعریف می‌کند
  ورودی، فیلتر، 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()

صفحات مرتبط

تدریس:کيف می‌توانيد جدول را فیلتر کنيد

تدریس:کيف می‌توان لیست را فیلتر کرد