JavaScript仿新浪微博搜尋框功能
本章節通過例項程式碼介紹一下如何實現新浪微博搜尋框功能。
程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> *{ padding:0; margin:0; } body{font-size:14px;} #box{ width:600px; margin:40px auto; } #in{ width:240px; height:24px; line-height:24px; border:1px solid #369; border-radius:4px; box-shadow:inset 0 0 2px #999; } #suggest{ display:none; position:relative; margin-top:-1px; width:240px; padding-top:1px; border:1px solid #369; border-top:0 none; border-radius:4px; box-shadow:inset 0 0 2px #999; overflow:hidden; } #suggest a{ display:block; color:#f00; height:24px; line-height:24px; text-decoration:none; padding:0 4px; } #suggest a:hover{ background:#eee; } #suggest a span{ color#369; } </style> <script type="text/javascript"> window.onload=function(){ var obox=document.getElementById("box"); var obj=document.getElementById("in"); var osug=document.getElementById("suggest"); var oa=osug.getElementsByTagName("span"); obj.oninput=obj.onpropertychange=onchange; obj.onblur=function(){disbox()} function onchange(){ var txt=this.value; var words=txt.length; if(words==0){ osug.style.display="none"; } else if(words<=8){ osug.style.display="block"; for( var index=0;len=oa.length,index<len;index++){ oa[index].innerHTML=txt; } } else if(words>8){ osug.style.display="block"; var limit=txt.substring(0,8)+"..."; for( var index=0;len=oa.length,index<len;index++){ oa[index].innerHTML=limit; } } } } function disbox(){ document.getElementById("suggest").style.display="none"; } </script> </head> <body> <dl id="box"> <dt><input type="text" name="" id="in"/></dt> <dd id="suggest" > <a href="###">搜“<span></span>”相關微博</a> <a href="###">搜“<span></span>”相關使用者</a> </dd> </dl> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
1.window.onload=function(){},當文件內容完全載入完畢再去執行函式中的程式碼。
2.var obox=document.getElementById("box"),獲取id屬性值為box的元素物件。
3.var obj=document.getElementById("in"),獲取id屬性值為in的元素物件。
4.var osug=document.getElementById("suggest"),獲取id屬性值為suggest的元素物件。
5.var oa=osug.getElementsByTagName("span"),獲取osug元素下的span元素物件集合。
6.obj.oninput=obj.onpropertychange=onchange,為obj元素註冊oninput和onpropertychange事件處理函式,也就是obj元素值發生改變時會觸發的事件。
7.obj.onblur=function(){disbox()},為obj元素註冊onblur事件處理函式。
8.function onchange(){},當obj元素中的value值發生改變時要執行的函式。
9.var txt=this.value,obj元素的value值賦值給txt變數。
10.var words=txt.length,獲取value值的字串長度。
11.if(words==0){
osug.style.display="none";
}如果字串長度為0,那麼osug元素隱藏。
12.else if(words<=8){
osug.style.display="block";
for( var index=0;len=oa.length,index<len;index++){
oa[index].innerHTML=txt;
}
}如果字串的長度小於8,那麼就顯示osug元素,然後為oa元素集合中的每一個span元素設定相關內容。
13.else if(words>8){
osug.style.display="block";
var limit=txt.substring(0,8)+"...";
for( var index=0;len=oa.length,index<len;index++){
oa[index].innerHTML=limit;
}
}如果字串長度大於,那麼將進行一定的擷取字串操作。
二.相關閱讀:
1.getElementsByTagName()可以參閱document.getElementsByTagName()一章節。
2.oninput可以參閱oninput和onpropertychange事件簡單介紹一章節。
3.innerHTML屬性可以參閱js innerHTML一章節。
4.substring()方法可以參閱javascript substring()一章節。
相關文章
- iOS 仿新浪微博iOS
- iOS高仿新浪微博iOS
- jQuery仿新浪微博資訊展播效果jQuery
- JavaScript搜尋框提示文字JavaScript
- javascript仿新浪微博圖片放大縮小及旋轉效果JavaScript
- 貓貓學iOS 之微博專案實戰(5)微博自己定義搜尋框searchBariOS
- Android仿新浪微博加#話題的EditText實現Android
- js之搜尋框JS
- 搜尋框佈局
- 新浪微博APIAPI
- jQuery 伸縮搜尋框jQuery
- 直播開發app,實時搜尋、搜尋引擎框APP
- Jquery + Bootstrap 實現搜尋框jQueryboot
- win10搜尋框怎麼開啟 win10搜尋功能快速開啟方法介紹Win10
- Windows10搜尋框怎麼關閉_Win10如何關閉搜尋框WindowsWin10
- Android 動畫實戰-仿微博雷達功能Android動畫
- 新浪微博分享不跳轉
- 讓ubuntu支援新浪微博Ubuntu
- oracle全文搜尋功能Oracle
- 前端實時搜尋框模擬前端
- 搜尋框或者UITextField使用ReactiveCocoaUIReact
- 搜尋框帶有搜尋提示點選消失程式碼例項
- 新浪微博圖床架構解析圖床架構
- 搜尋模組功能分析
- 網站搜尋功能lucene網站
- WordpressCMS主題開發10-新增搜尋框功能search.phpPHP
- 直播app原始碼,預設顯示搜尋框 保留搜尋條件APP原始碼
- win10搜尋框怎麼縮小_win10工作列搜尋框太寬如何調Win10
- win10搜尋框太長如何縮小_win10縮小搜尋框的步驟Win10
- win10怎麼關閉工作列搜尋框 win10 工作列取消搜尋框方法Win10
- 新浪微博上線評論新功能:熱度排序 博主“翻牌”排序
- win10 工作列怎麼取消搜尋框_win10工作列搜尋框怎麼關掉Win10
- win10 搜尋框怎麼去掉工作列_win10工作列搜尋框怎麼關掉Win10
- win10搜尋框卡死怎麼辦_win10搜尋框卡死無法使用如何解決Win10
- Python實現微博爬蟲,爬取新浪微博Python爬蟲
- 新浪微博API生成短連結API
- 轉發新浪微博程式猿心得
- 自動釋出新浪微博javaJava