廢話不多說,直接上代碼
<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <style>    *{      margin:0;      padding:0;    }    input{      display:block;      list-style:none;    }    html,body{      color:#000;      font-size:14px;      font-family:'微軟雅黑';    }    .box{      margin:50px auto;      width:300px;    }    .box input{      padding:0 10px;      width:278px;      height:30px;      border:1px solid green;    }    .box ul{      display:none;      border:1px solid green;      border-top:none;    }    .box ul li{      list-style:none;      padding:0 10px;      height:30px;      line-height:30px;      cursor:pointer;    }    .box ul li:hover{      background:#eee;    }  </style></head><body>  <div class='box'>    <input type="text" id='searchInp'/>    <ul id='searchBox'>      <li>1111</li>      <li>2222</li>      <li>3333</li>      <li>4444</li>    </ul>  </div>  <script src='jquery.min.js'></script>  <script>    var searchModule = (function(){      var $searchInp = $('#searchInp'),        $searchBox = $('#searchBox');      //向百度的服務器發送JSONP請求,把數據綁定到容器當中      function bindHTML(){        var searchKey = $searchInp.val();        function callback(data){          data = data['g'];          var str = '';          $.each(data,function(index,item){            if(index<=3){              str += '<li>'+item+'</li>'            }          })          $searchBox.html(str).stop().slideDown(300);        }        $.ajax({          url:"https://sp0.baidu.com/5a1Fazu8AA54nxGKo9WTAnF6hhy/su?wd="+searchKey,          dataType:"jsonp",          jsonp:'cb',          success:callback        })      }      //事件綁定和模塊的入口      function init(){        //文本框獲取焦點或者輸入內容,判斷當前文本框中是否有內容,有內容綁定數據,沒有內容隱藏展示框        $searchInp.on("focus keyup",function(){          var val = $(this).val();          if(val.length>0){            bindHTML();            return;          }          $searchBox.stop().slideUp(300);        }).on('blur',function(){          window.setTimeout(function(){            $searchBox.stop().slideUp(300);          },3000)        })        //給展示框中的li綁定方法        $searchBox.on('click',function(e){          var tar = e.target,            tarTag = tar.tagName.toUpperCase(),            $tar = $(tar);          if(tarTag==="LI"){            $searchInp.val($tar.html());            $(this).stop().slideUp(300);          }        })      }      return {        init:init      }    })()    searchModule.init();  </script></body></html>以上這篇js模擬百度模糊搜索的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
| 
 
 | 
新聞熱點
疑難解答