中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript怎么實現智能搜索框

發布時間:2022-03-03 16:26:37 來源:億速云 閱讀:158 作者:iii 欄目:web開發

今天小編給大家分享一下JavaScript怎么實現智能搜索框的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

 html部分

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>智能搜索框</title>

    <link rel="stylesheet" href="./search.css">

</head>

<body>

    <!-- 頁面結構 -->

    <div class="search">

        <input class="search-input" type="text" autofocus="autofocus" placeholder="請輸入關鍵字,用空格間隔關鍵字" value="">

        <button class="btn">搜索</button>

        <ul class="search-result"></ul>

    </div>

    <script src="./search.js"></script>

</body>

</html>

css部分

html,

body,

div {

    margin: 0;

    padding: 0;

}

ul,

li {

    list-style: none;

    margin: 0;

    padding: 0;

}

li {

    border: 1px solid #ccc;

    width: 500px;

    padding: 2px 1px;

    text-indent: 1rem;

}

li:hover{

    background-color: #efebeb;

}

li b{

    color: #f00;

}

.search {

    width: 600px;

    margin: 5% auto;

}

input {

    width: 500px;

    height: 30px;

    font-size: 1.1rem;

    text-indent: 1rem;

}

button {

    font-size: 1.1rem;

    margin-left: 10px;

    width: 60px;

    height: 35px;

}

JavaScript 部分

/*

**  date:2021.12.20

**  name:@前端小白?

*/

//1.2 分析數據結構

var arr=[

    "薇某某偷逃稅被罰13.41億",

    "延安新增確診病例軌跡公布",

    "澳門回歸22周年",

    "蕾神之錘vs宏慌之力,結局如何敬請期待",

    "我很懷疑是不是汪峰汪半壁又要開演唱會了",

    "起底吳某凡吳某凡吳某凡背后的瘋狂飯圈",

    "環球時報評王某宏必須涼"

]

//2.0功能入口

var inputStr=document.querySelector(".search-input");

var strUl=document.querySelector(".search-result");

var btn=document.querySelector(".btn");

inputStr.oninput=function(){

    //2.0

    if(this.value.length==0){

        strUl.innerHTML="";

        return;

    }

    //2.1獲取input框的值

    var keywords=this.value;

    //2.2消除兩邊空格

    keywords=keywords.trim();

    //2.3消除中間空格

    keywords=trimAll(keywords)

    // 2.4拆分關鍵字

    var keysArr = keywords.split(" ");

    // 2.5關鍵字去重

    keysArr=removeRepetition(keysArr);

    // 2.6從數據源匹配結果

    var resultsAll=matching(keysArr,arr);

    // 2.7渲染

    renders(resultsAll,strUl);

    for (let i = 0; i < resultsAll.length; i++) {

        let list=document.querySelectorAll(".search-result>li")

        list[i].addEventListener("click",function(){

        var URL="http://www.baidu.com/s?ie=UTF-8&wd=";

        if(list[i].innerHTML==""){

            window.location.href=URL;

        }else{  

          URL="http://www.baidu.com/s?ie=UTF-8&wd="+ list[i].innerHTML;

          console.log(list);

          window.location.href=URL;

        }

      });

    }

}

  //2.8點擊搜索

  btn.addEventListener("click",skip);

// 工具函數

// 消除中間空格

function trimAll(_keywords){

    for(let i=0; _keywords.indexOf("  ")!=-1; i++){

        _keywords = _keywords.replace("  ", " ");

    }

return _keywords;   

}

// 消除關鍵字重復

function removeRepetition(_keysAll){

    var iteam=[];

    for (let i = 0; i < _keysAll.length; i++) {

      if(iteam.indexOf(_keysAll[i])==-1){

          iteam.push(_keysAll[i])

      }

    }

    return iteam;

}

//匹配結果

function matching(_keysAll,_arr){

    var iteam=[];

    for (let i = 0; i< arr.length; i++) {

        var flag=true;

        for (let j = 0; j < _keysAll.length; j++) {

         if(!_arr[i].includes(_keysAll[j])){

            flag=false;

            break;

         }

     } 

     if(flag){

         iteam.push(_arr[i]);

     }

   }

   return iteam

}

//渲染

function renders(_resultsAll,_strUL) {

    _strUL.innerHTML="";    

    for (let i = 0; i < _resultsAll.length; i++) {

       var iteamLi=document.createElement("li");

       iteamLi.innerHTML=_resultsAll[i];

       _strUL.appendChild(iteamLi);

    }

}

//挑轉

function skip(){

    var URL="http://www.baidu.com/s?ie=UTF-8&wd=";

      if(strUl.innerHTML==" "){

          window.location.href=URL;

      }else{

        URL="http://www.baidu.com/s?ie=UTF-8&wd="+strUl.innerHTML;

        window.location.href=URL;

      }

}

以上就是“JavaScript怎么實現智能搜索框”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

古丈县| 睢宁县| 龙游县| 谢通门县| 进贤县| 晋江市| 永城市| 安多县| 芦溪县| 台北市| 巩义市| 缙云县| 阳朔县| 龙胜| 隆安县| 麦盖提县| 江陵县| 雅安市| 金平| 霍林郭勒市| 潼南县| 东港市| 永安市| 通城县| 亚东县| 西畴县| 兴仁县| 岑巩县| 重庆市| 天柱县| 封开县| 兰溪市| 伊通| 简阳市| 临沭县| 安远县| 张家川| 弥渡县| 竹溪县| 宜兰县| 清新县|