js模擬百度模糊搜索的實例
更新時間:2017年08月04日 08:09:20 投稿:jingxian
下面小編就為大家?guī)硪黄猨s模擬百度模糊搜索的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
廢話不多說,直接上代碼
<!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');
//向百度的服務器發(fā)送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模擬百度模糊搜索的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
JavaScript html5 canvas畫布中刪除一個塊區(qū)域的方法
這篇文章主要介紹了JavaScript html5 canvas畫布中刪除一個塊區(qū)域的方法,涉及JavaScript結合html5操作canvas畫布圖形繪制的技巧,需要的朋友可以參考下2016-01-01
Electron 打包問題:electron-builder 下載各種依賴出錯(推薦)
這篇文章主要介紹了Electron 打包問題:electron-builder 下載各種依賴出錯,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
javascript游戲開發(fā)之《三國志曹操傳》零部件開發(fā)(三)情景對話中仿打字機輸出文字
前兩講我告訴了大家如何使人物移動,那么今天我們就來看看如何實現(xiàn)仿《三國志曹操傳》人物情景對話,感興趣的朋友可以了解下,希望本文對你有所幫助2013-01-01
JavaScript和jQuery獲取input框的絕對位置實現(xiàn)方法
下面小編就為大家?guī)硪黄狫avaScript和jQuery獲取input框的絕對位置實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10

