1. 程式人生 > >原生JS實現百度搜索功能

原生JS實現百度搜索功能

pos pan elements font button stat post :hover ack

  今天呢給大家分享一下自己用原生JS做的一個百度搜索功能,下面上代碼:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <!--百度iocn圖標-->
        <link rel="shortcut icon" href="https://www.baidu.com/favicon.ico" type="image/x-icon"/>
        <title>百度一下,你就知道</title>
        <style type="text/css">
            body{
/*清除瀏覽器自帶樣式*/ margin: 0; padding: 0; } .box{/*最大的盒子*/ width: 100%; /*background: yellow;*/ height: 636px; background-image:url("https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/skin/880.jpg?2"); background
-size: 100%; } .box_log{/*log盒子*/ width: 100%; } .box_log img{/*百度log*/ width: 19.8%; margin-left: 49.4%; transform: translate(-50%); margin-top: 38px; margin
-bottom: 19px; } .box_text{/*text搜索框盒子大小*/ width: 100%; height: 36px; } .log_img{/*input框中的小相機*/ position: absolute; left: 865px; top: 202px; } #text{ width: 540px; height: 36px; box-sizing: border-box; margin-left: 355px; margin-top: 3px; text-indent: 4px; } #btn{ width: 100px; height: 36px; background: #3385FF; border: 0px; letter-spacing: 1px; color: white; margin-left: -5px; font-size: 15px; box-sizing: border-box; transform: translateY(2px); box-sizing: border-box; } #btn:hover{ cursor: pointer; } #search{ width: 540px; /*background: yellow;*/ margin: 0; padding: 0; margin-left: 355px; list-style: none; display: none; border: 1px solid #E3E5E4; } #search li{ line-height: 36px; background: white; } #search li:hover{ background: #F0F0F0; } .li1{ text-indent: 4px; } </style> </head> <body> <div class="box"> <div class="box_log"> <img src="../img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png"/> </div> <div class="box_text"> <img src="../img/QQ圖片20180119115441.png" class="log_img"/> <input type="text" name="text" id="text" value=""/> <input type="button" name="bdyx" id="btn" value="百度一下" /> <ul id="search"> <li class="li1" id="0" onclick="iptShow(this.id)"></li> <li class="li1" id="1" onclick="iptShow(this.id)"></li> <li class="li1" id="2" onclick="iptShow(this.id)"></li> <li class="li1" id="3" onclick="iptShow(this.id)"></li> <li class="li1" id="4" onclick="iptShow(this.id)"></li> <li class="li1" id="5" onclick="iptShow(this.id)"></li> <li class="li1" id="6" onclick="iptShow(this.id)"></li> <li class="li1" id="7" onclick="iptShow(this.id)"></li> <li class="li1" id="8" onclick="iptShow(this.id)"></li> <li class="li1" id="9" onclick="iptShow(this.id)"></li> </ul> </div> </div> <script> var otext = document.getElementById("text"); //獲取input框 ose = document.querySelector("#search"); //通過類名選擇器 選擇到search框 lis = document.getElementsByClassName("li1"); //獲取所有的li otext.onkeyup = function(){ //當在input框中鍵盤彈起發生事件 ose.style.display = otext.value?"block":"none"; /*三目運算符,如果otext.value的值部位空,則block。*/ var osc = document.createElement("script"); /*創建一個script標簽*/ osc.src = "https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd="+otext.value+"&cb=houxiaowei"; /*srcipt的src值引入百度的url,然後將otext文本框中輸入的內容連接到url,在後面在運行自己的方法*/ document.body.appendChild(osc); /*將創建好的script標簽元素放入body中*/ /*input框中按下回車根據input的值跳轉頁面*/ if(event.keyCode==13){ /*將百度作為連接,傳入input的值,並跳入新的頁面*/ window.location.href = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd="+otext.value } } var count = 0; var search = 0; var arr = ose.children; /*獲取ose下的所有li*/ function houxiaowei(json){ var jsonLength = 0; /*json長度的初始值*/ // console.log(json.s); 打印json數據中的所有數據 for(var x in json.s){ /*將循環的次數變成json的長度*/ jsonLength++;      } // console.log(jsonLength); 打印json數據的長度 for(var i=0;i<lis.length;i++){ if(jsonLength==0){ /*如果遍歷出的長度等於0,li的值為空*/ arr[i].innerHTML = null; }else{ if(json.s[i]!=null){/*如果json[i]的值不等於空,則將它的值放入li中*/ arr[i].innerHTML = json.s[i]; } } } if(count==lis.length-1){ count=0; search=0; } count++; search++; } /*單擊li中的值顯示在input框中*/ function iptShow(thisId){ otext.value = arr[thisId].innerHTML; window.location.href = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd="+otext.value } /*單擊body中的任意地方隱藏li*/ document.body.onclick = function(){ ose.style.display = "none"; } /*單擊百度btn的時候觸發,並跳到新的連接*/ var btn = document.querySelector("#btn"); btn.onclick = function(){ /*獲取當前input的值*/ var otext = document.getElementById("text").value; /*將百度作為連接,傳入input的值,並跳入新的頁面*/ window.location.href = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd="+otext } </script> </body> </html>

原生JS實現百度搜索功能