js模擬百度模糊搜索的實(shí)例
廢話不多說(shuō),直接上代碼
<!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'); //向百度的服務(wù)器發(fā)送JSONP請(qǐng)求,把數(shù)據(jù)綁定到容器當(dāng)中 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(){ //文本框獲取焦點(diǎn)或者輸入內(nèi)容,判斷當(dāng)前文本框中是否有內(nèi)容,有內(nèi)容綁定數(shù)據(jù),沒(méi)有內(nèi)容隱藏展示框 $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模擬百度模糊搜索的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
avascript中的自執(zhí)行匿名函數(shù)應(yīng)用示例
javascript中的自執(zhí)行匿名函數(shù)可以用它創(chuàng)建命名空間,只要把自己所有的代碼都寫在這個(gè)特殊的函數(shù)包裝內(nèi),那么外部就不能訪問(wèn),除非你允許2014-09-09微信頁(yè)面彈出鍵盤后iframe內(nèi)容變空白的解決方案
當(dāng)鍵盤彈出后,頁(yè)腳也被頂起來(lái);而當(dāng)搜索完(要刷新整體頁(yè)面),鍵盤縮回后,iframe里 鍵盤當(dāng)住的地方變成白色。怎么解決這個(gè)問(wèn)題呢?下面腳本之家小編給大家分享微信頁(yè)面彈出鍵盤后iframe內(nèi)容變空白的解決方案,一起看看吧2017-09-09javascript設(shè)計(jì)模式之module(模塊)模式
這篇文章主要為大家詳細(xì)介紹了javascript設(shè)計(jì)模式之module(模塊)模式 ,感興趣的小伙伴們可以參考一下2016-08-08H5如何實(shí)現(xiàn)喚起APP及調(diào)試bug解決
這篇文章主要為大家介紹了H5如何實(shí)現(xiàn)喚起APP及調(diào)試bug解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05JavaScript中立即執(zhí)行函數(shù)實(shí)例詳解
javascript和其他編程語(yǔ)言相比比較隨意,所以javascript代碼中充滿各種奇葩的寫法,有時(shí)霧里看花,當(dāng)然,能理解各型各色的寫法也是對(duì)javascript語(yǔ)言特性更進(jìn)一步的深入理解。這篇文章主要給大家介紹了關(guān)于JavaScript中立即執(zhí)行函數(shù)的相關(guān)資料,需要的朋友可以參考下。2017-11-11JavaScript Date對(duì)象應(yīng)用實(shí)例分享
這篇文章主要分享了JavaScript Date對(duì)象應(yīng)用實(shí)例,獲取日期時(shí)間,倒計(jì)時(shí)功能實(shí)現(xiàn),限時(shí)搶購(gòu)活動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10JS實(shí)現(xiàn)圖文并茂的tab選項(xiàng)卡效果示例【附demo源碼下載】
這篇文章主要介紹了JS實(shí)現(xiàn)圖文并茂的tab選項(xiàng)卡效果,涉及javascript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)修改頁(yè)面元素屬性的相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-09-09詳解Webpack + ES6 最新環(huán)境搭建與配置
這篇文章主要介紹了詳解Webpack + ES6 最新環(huán)境搭建與配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06javascript面向?qū)ο蟪绦蛟O(shè)計(jì)(一)
這篇文章主要介紹了javascript面向?qū)ο蟪绦蛟O(shè)計(jì),分享給大家一段代碼,注釋里講解的非常詳細(xì),有助于我們理解面向?qū)ο?,這里推薦給大家。2015-01-01js實(shí)現(xiàn)精確到毫秒的倒計(jì)時(shí)效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)精確到毫秒的倒計(jì)時(shí)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08