您好,登錄后才能下訂單哦!
廢話不多說,直接上代碼
<!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模擬百度模糊搜索的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。