1. 程式人生 > >案例:模擬百度搜索

案例:模擬百度搜索

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    #box {
      width: 450px;
      margin: 200px auto;
    }

    #txt {
      width: 350px;
    }

    #pop {
      width: 350px;
      border: 1px solid red;
    }

    #pop ul {
      margin: 10px;
      padding: 0px;
      width: 200px;
      list-style-type: none;

    }

    #pop ul li {

    }
  </style>
</head>
<body>

<div id="box">
  <input type="text" id="txt" value="">
  <input type="button" value="搜尋" id="btn">

</div>

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


  var keyWords = ["小楊才是最純潔的", "小楊才是最帥的", "小段是最猥瑣的", "小超是最齷齪的", "傳智播客是一個培訓機構", "傳說在傳智有個很帥很純潔的小楊", "蘋果好吃", "蘋果此次召回還是沒有中國"];
  //獲取文字框註冊鍵盤擡起事件

  my$("txt").onkeyup = function () {


    //每一次的鍵盤擡起都判斷頁面中有沒有這個div
    if(my$("dv")){
      //刪除一次
      my$("box").removeChild(my$("dv"));
    }
    //獲取文字框輸入的內容
    var text = this.value;
    //臨時陣列--空陣列------->存放對應上的資料
    var tempArr = [];
    //把文字框輸入的內容和陣列中的每個資料對比
    for (var i = 0; i < keyWords.length; i++) {
      //是否是最開始出現的
      if (keyWords[i].indexOf(text) == 0) {
        tempArr.push(keyWords[i]);//追加
      }
    }
    //如果文字框是空的,臨時陣列是空的,不用建立div
    if (this.value.length == 0 || tempArr.length == 0) {
      //如果頁面中有這個div,刪除這個div
      if (my$("dv")) {
        my$("box").removeChild(my$("dv"));
      }
      return;
    }
    //建立div,把div加入id為box的div中
    var dvObj = document.createElement("div");
    my$("box").appendChild(dvObj);
    dvObj.id = "dv";
    dvObj.style.width = "350px";
    //dvObj.style.height="100px";//肯定是不需要的------
    dvObj.style.border = "1px solid green";
    //迴圈遍歷臨時陣列,建立對應的p標籤
    for (var i = 0; i < tempArr.length; i++) {
      //建立p標籤
      var pObj = document.createElement("p");
      //把p加到div中
      dvObj.appendChild(pObj);
      setInnerText(pObj, tempArr[i]);
      pObj.style.margin = 0;
      pObj.style.padding = 0;
      pObj.style.cursor = "pointer";
      pObj.style.marginTop = "5px";
      pObj.style.marginLeft = "5px";
      //滑鼠進入
      pObj.onmouseover = function () {
        this.style.backgroundColor = "yellow";
      };
      //滑鼠離開
      pObj.onmouseout = function () {
        this.style.backgroundColor = "";
      };
    }


  };


</script>

</body>
</html>