最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)百度搜索框關(guān)鍵字推薦

 更新時(shí)間:2020年02月17日 16:51:21   作者:箏非  
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)百度搜索框關(guān)鍵字推薦,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JS實(shí)現(xiàn)百度搜索框關(guān)鍵字推薦的具體代碼,供大家參考,具體內(nèi)容如下

<!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 = ["我是真滴帥啊", "我是真滴牛批啊啊啊", "中國共產(chǎn)黨萬歲啊啊啊", "我咋能這么優(yōu)秀嘞??",
    "中國國民黨就不行嘿嘿嘿", "蘋果好吃嗎", "我滴個(gè)龜龜耶", "蘋果手機(jī)很好用!"];
  my$("txt").onkeyup = function () {
    //每次鍵盤抬起都判斷有沒有新創(chuàng)建的div,有則刪除所有
    if (my$("dv")) {
      my$("box").removeChild(my$("dv"));
    }
    //獲取文本框內(nèi)容
    var text = this.value;
    //添加一個(gè)用來存對(duì)應(yīng)數(shù)據(jù)的空數(shù)組
    var tempArr = [];
    //比對(duì)文本是否一致
    for (var i = 0; i < keyWords.length; i++) {
      //
      if (keyWords[i].indexOf(text) == 0) {
        tempArr.push(keyWords[i]);
      }
    }
    //如果文本框?yàn)榭栈蛘邤?shù)組五元素,則刪除所有div
    if (this.value.length == 0 || tempArr.length == 0) {
      if (my$("dv")) {
        my$("box").removeChild(my$("dv"));
      }//end if
      return;
    }// end if
 
    //遍歷臨時(shí)數(shù)組,創(chuàng)建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 red";
 
    //循環(huán)遍歷臨時(shí)數(shù)組,在創(chuàng)建的div中添加p標(biāo)簽
    for (var i = 0; i < tempArr.length; i++) {
      var pObj = document.createElement("p");
      dvObj.appendChild(pObj);
      setInnerText(pObj, tempArr[i]);
      pObj.style.fontSize = "14px";
      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 = "pink";
      };
      pObj.onmouseout = function () {
        this.style.backgroundColor = "";
      };
    }
  }
</script>
</body>
</html>

外部引入工具JS文件:

/*
* 根據(jù)id屬性的值,返回對(duì)應(yīng)的標(biāo)簽元素
* */
function my$(id) {
  return document.getElementById(id);
};
 
// 設(shè)置任意標(biāo)簽中的文本內(nèi)容
function setInnerText(element, text) {
  // 判斷瀏覽器是否支持這個(gè)屬性
  if (typeof element.textContent == "undefined") {//不支持
    element.innerText = text;
  } else {//支持
    element.textContent = text;
  }
};
 
// 獲取任意標(biāo)簽中的文本內(nèi)容
function getInnerText(element) {
  if (typeof element.textContent == "undefined") {
    return element.innerText;
  } else {
    return element.textContent;
  }
};
 
//獲取任意一個(gè)父級(jí)元素的第一個(gè)子級(jí)元素
function getFirstElementChild(element) {
  if (element.firstElementChild) {//IE8支持
    return element.firstElementChild;
  } else {//IE8不支持
    var node = element.firstChild;
    while (node && node.nodeType != 1) {//不是標(biāo)簽
      node = node.nextSibling;
    }
    return node;
  }
}
 
//獲取任意一個(gè)父級(jí)元素的最后一個(gè)子級(jí)元素
function getLastElementChild(element) {
  if (element.lastElementChild) {
    return element.lastElementChild;
  } else {
    var node = element.lastChild;
    while (node && node.nodeType != 1) {
      node.previousSibling;
    }
    return node;
  }
}
 
//為任意元素綁定任意的事件。(元素,事件類型,處理函數(shù))
function addEventListener(element, type, fn) {
  //判斷瀏覽器是否支持這個(gè)方法
  if (element.addEventListener) {
    element.addEventListener(type, fn, false)
  } else if (element.attachEvent) {
    element.attachEvent("on" + type, fn)
  } else {
    element["on" + type] = fn;
  }
}
 
//為任意元素解綁事件
function removeEventListener(element, type, fnName) {
  if (element.removeEventListener) {
    element.removeEventListener(type, fnName, false);
  } else if (element.detachEvent) {
    element.detachEvent("on" + type, fnName);
  } else {
    element["on" + type] = null;
  }
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript(js)的小數(shù)點(diǎn)乘法除法問題詳解

    javascript(js)的小數(shù)點(diǎn)乘法除法問題詳解

    本篇文章主要是對(duì)javascript(js)中的小數(shù)點(diǎn)乘法除法問題進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-03-03
  • JavaScript實(shí)現(xiàn)單英文金山打字通

    JavaScript實(shí)現(xiàn)單英文金山打字通

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)單英文金山打字通,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 如何基于原生javaScript生成帶圖片的二維碼

    如何基于原生javaScript生成帶圖片的二維碼

    這篇文章主要介紹了如何基于原生javaScript生成帶圖片的二維碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 前端進(jìn)階之教你利用javascript存儲(chǔ)函數(shù)

    前端進(jìn)階之教你利用javascript存儲(chǔ)函數(shù)

    這篇文章主要給大家介紹了關(guān)于利用javascript存儲(chǔ)函數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-11-11
  • 在線編輯器的實(shí)現(xiàn)原理(兼容IE和FireFox)

    在線編輯器的實(shí)現(xiàn)原理(兼容IE和FireFox)

    在線編輯器的實(shí)現(xiàn)原理(兼容IE和FireFox)...
    2007-03-03
  • JS前向后瞻正則表達(dá)式定義與用法示例

    JS前向后瞻正則表達(dá)式定義與用法示例

    這篇文章主要介紹了JS前向后瞻正則表達(dá)式定義與用法,分析了前向后瞻正則表達(dá)式的具體定義、功能及具體使用技巧,需要的朋友可以參考下
    2016-12-12
  • Javascript Worker子線程代碼實(shí)例

    Javascript Worker子線程代碼實(shí)例

    這篇文章主要介紹了Javascript Worker子線程代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • javascript實(shí)現(xiàn)簡單的貪吃蛇游戲

    javascript實(shí)現(xiàn)簡單的貪吃蛇游戲

    本文很簡單,給大家分享了一段使用javascript實(shí)現(xiàn)簡單的貪吃蛇游戲的代碼,算是對(duì)自己學(xué)習(xí)javascript的一次小小的總結(jié),代碼參考了網(wǎng)友的部分內(nèi)容,推薦給大家,希望對(duì)大家能夠有所幫助。
    2015-03-03
  • 使用Require.js封裝原生js輪播圖的實(shí)現(xiàn)代碼

    使用Require.js封裝原生js輪播圖的實(shí)現(xiàn)代碼

    這篇文章主要介紹了使用Require.js封裝原生js輪播圖的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2017-06-06
  • async/await實(shí)現(xiàn)Promise.acll()簡介

    async/await實(shí)現(xiàn)Promise.acll()簡介

    Promise.all() 方法接收一個(gè) promise 的 iterable 類型的輸入,并且只返回一個(gè)Promise實(shí)例,并且輸入的所有 promise 的 resolve 回調(diào)的結(jié)果是一個(gè)數(shù)組,這篇文章主要介紹了async/await實(shí)現(xiàn)Promise.acll()簡介,需要的朋友可以參考下
    2022-11-11

最新評(píng)論

安顺市| 罗平县| 祥云县| 南投市| 石柱| 绥阳县| 滁州市| 东乌珠穆沁旗| 兴海县| 高邮市| 道真| 罗平县| 晋城| 舒兰市| 乐山市| 五家渠市| 翁牛特旗| 东方市| 隆子县| 久治县| 什邡市| 揭东县| 云林县| 八宿县| 玉门市| 玉屏| 木兰县| 攀枝花市| 托克托县| 定陶县| 灵石县| 雷州市| 即墨市| 遵义县| 海淀区| 文山县| 扎鲁特旗| 锦屏县| 怀仁县| 东明县| 东乡族自治县|