CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

JavaScriptでリンクをフィルタリングするための検索メニューを作成するにはどうすればよいですか?


以下は、JavaScriptでリンクをフィルタリングするための検索メニューを作成するためのコードです-

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
   font-family: monospace;
}
.outer {
   display: flex;
}
h2 {
   text-align: center;
}
menu-left {
   flex: 35%;
   padding: 15px 0;
}
menu-left h2 {
   padding-left: 8px;
}
.resultSide {
   flex: 55%;
   padding: 15px;
   background-color: rgb(199, 199, 255);
}
.resultSide p {
   font-size: 25px;
}
.searchBox {
   font-size: 16px;
   padding: 11px;
   border: 2px solid black;
}
/* Style the navigation menu inside the left column */
.animalMenu {
   list-style-type: none;
   margin: 0px;
   background-color: lightgoldenrodyellow;
}
.animalMenu li a {
   padding: 12px;
   text-decoration: none;
   color: black;
   display: block;
}
li {
   font-size: 25px;
}
.animalMenu li a:hover {
   background-color: rgb(255, 112, 112);
}
</style>
</head>
<body>
<h2>Search Animals</h2>
<div class="outer">
<div class="menu-left">
<h2 style="background-color: lightgoldenrodyellow;">Menu</h2>
<input type="text" maxlength="20" size="20" class="searchBox" placeholder="Search about animal...." />
<ul class="animalMenu">
<li><a href="#">Lion</a></li>
<li><a href="#">Giraffe</a></li>
<li><a href="#">Camel</a></li>
<li<a href="#">Tiger</a></li>
<li><a href="#">Cat</a></li>
</ul>
</div>
<div class="resultSide">
<h2>Page Header</h2>
<p>Some random text inside this box to demonstrate the example code</p>
<p>Some random text inside this box to demonstrate the example code</p>
</div>
</div>
<script>
   let searchBox = document.querySelector(".searchBox");
   let filterSearch, ulItem, liItem, links;
   function processResults() {
      input = document.getElementById("mySearch");
      filterSearch = searchBox.value.toUpperCase();
      ulItem = document.querySelector(".animalMenu");
      liItem = ulItem.getElementsByTagName("li");
      Array.from(liItem).forEach(element => {
         links = element.getElementsByTagName("a")[0];
         if (links.innerHTML.toUpperCase().indexOf(filterSearch) > -1) {
            element.style.display = "";
         } else {
            element.style.display = "none";
         }
      });
   }
   searchBox.addEventListener("keyup", () => {
      processResults();
   });
</script>
</body>
</html>

出力

このコードは次の出力を生成します-

JavaScriptでリンクをフィルタリングするための検索メニューを作成するにはどうすればよいですか?

リストを検索する場合-

JavaScriptでリンクをフィルタリングするための検索メニューを作成するにはどうすればよいですか?


  1. CSSで検索ボタンを作成するにはどうすればよいですか?

    以下は、CSSで検索ボタンを作成するためのコードです- 例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.c

  2. CSSを使用してアニメーション検索フォームを作成するにはどうすればよいですか?

    以下は、CSSを使用してアニメーション検索フォームを作成するコードです- 例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> *{    box-sizing: border-box; } input[type=text] {    width: 170px;    fon