js 검색 알림 상자 효과 구현

본 논문 의 사례 는 js 가 검색 알림 상자 효 과 를 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
우선 정적 페이지 쓰기

<div class="container">
  <!--     -->
  <input type="text" id="search" />
  <!--         liebia -->
  <div id="alert">
    <ul></ul>
  </div>
</div>
CSS 스타일

* {
  margin: 0;
  padding: 0;
}

html,
body {
  background: darkgray;
}

.container {
  position: absolute;
  left: 50%;
  top: 50px;
  transform: translateX(-50%);
}

#search {
  width: 300px;
  height: 50px;
  padding-left: 10px;
  border-radius: 5px;
  border: none;
  outline: none;
}

#alert {
  width: 312px;
  position: relative;
  left: -1px;
  display: none; /*  ul     */
}

#alert > ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#alert > ul > li {
  border: 0.5px solid #000;
  height: 40px;
  line-height: 40px;
  padding-left: 10px;
  border-radius: 5px;
  background: #fff;
}

#alert > ul:last-child {
  border-bottom: 1px solid #000;
}
JS 코드

var $search = $("#search");
var $alert = $("#alert");
var $alertUl = $("#alert>ul");

//        
function clearUl() {
  $alertUl.empty();
}

$search
  .bind("input", function () {
  //     
  clearUl();

  //            
  var value = $(this).val();
  // console.log(value);

  //   getJSON    json  
  $.getJSON("data/server4.json", function (data) {
    // console.log(data);
    //    json    name 
    $.each(data, function (input, obj) {
      // console.log(obj);
      var name = obj.name;
      // console.log(name);

      if (name.indexOf(value) >= 0) {
        //         name   
        var valueArr = obj.value;
        // console.log(valueArr);
        $.each(valueArr, function (input, text) {
          // console.log(text);
          //       HTML  
          $alertUl.append(`<li>${text}</li>`);
        });
      }
    });
  });

  //  ul      
  $alert.css("display", "block");
})
  .bind("blur", function () {
  $alert.css("display", "none");
});
실현 효과

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기