百度检索例子

2019-02-11

使用文本框搜索时,可以显示下拉栏,并且下拉栏中显示的内容的前几个字就是文本框内的关键字

<!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  

//先删除再创建,如果输入完之后,又删除,当前文本框为空,而却后面不用在创建div,所以在删除的后面加return;跳出function

      if (my$("dv")) {

        my$("box").removeChild(my$("dv"));

      }

      return;

    }

    //创建div,div加入idboxdiv

    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>

原文地址:https://www.cnblogs.com/daiSir/p/10363165.html

时间: 2024-10-10 01:37:38

百度检索例子的相关文章

百度检索技巧

1.   基本检索技术  ① “与”运算:增加搜索范围.运算符为“空格”或“+”. ② “非”运算:减除无关资料.运算符为“—”.减号前后必须留一空格,语法是"A - B".有时候,排除含有某些词语的资料有利于缩小查询范围.例如,要搜寻关于"武侠小说",但不含"古龙"的资料,可使用如下查询: ③ “或”运算:并行搜索.运算符为“|”. 使用"A | B"来搜索"或者包含关键词A,或者包含关键词B,或者包含A.B&qu

关于百度地图例子坑人的经验教训

先是把百度地图API样例下载来,折腾了几天,总算编译通过了.这时写以下几点注意的: 通过java或android studio提供的工具,生成SHA1,然后将SHA1填入你自己帐号的控制台,并填入相应的包名,并最终生成AK,这个我想没有太多难度,网上教程一堆. 可以通过android studio的Build->Generated signed APK->create new,生成JKS文件,注意这里的SHA1一定要与控制台上的SHA一样,前面我就没注意,经常换一个PROJECT又重新生成一次

关于在Windows XP Server 2003下使用libcurl库的一些问题 附编译好的libcurl下载 和使用libcurl访问百度的例子工程

libcurl编译部分摘抄自别人的文章,后面是我写的的记录 步骤 下载源码 首先去github的对应页面下载curl代码,至于在Windows下你是用的git还是直接下我就不管啦,我直接下的zip. 下载好了之后,解压zip文件. 启动编译工具 在开始菜单中查找: 'Developer Command Prompt for VS <version>' 比如我安装的是VS2015,那么对应的工具就是:'Developer Command Prompt for VS2015',启动它,进入命令行窗

根据百度的语音识别例子,展示C如何使用cJSON

前面一篇文章展示了根据百度语音识别例子如何用C调用C++的方法,这篇文章也是基于百度语音识别,展示如何使用cJSON,cJSON是一个用C写的JSON解析器,非常好用,可以用它来生成一个JSON,也可以用来解析JSON的值. 在我写的通过skey获取token的代码中 char *token = (char *)malloc(MAX_BUFFER_SIZE); char host[MAX_BUFFER_SIZE]; snprintf(host, sizeof(host), "https://op

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

js 调用百度地图,并且定位用户地址,显示省市区街,经纬度

网上的一些百度地图例子,基本上没有连套的 定位 例子.下面我分享一套我自己弄的,废话不多说,看代码,里面有注释! 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 5 <meta http-equiv="Content-Type"

使用jsonp跨域调用百度js实现搜索框智能提示,并实现鼠标和键盘对弹出框里候选词的操作【附源码和在线测试地址】

项目中常常用到搜索,特别是导航类的网站.自己做关键字搜索不太现实,直接调用百度的是最好的选择.使用jQuery.ajax的jsonp方法可以异域调用到百度的js并拿到返回值,当然$.getScript也可以实现跨域调用js. jsonp快速入门: [原创]说说JSON和JSONP,也许你会豁然开朗,含jQuery用例 关于jquery.ajax的jsonp方法是用以及其error回调函数不能正确执行,请参考园长dudu的文章: jquery ajax中使用jsonp的限制 jQuery插件jQu

angularjs利用指令调用ueditor百度编辑器

ueditor中文是百度编辑器,而angularjs是一款优秀的前端JS框架了,下面我们来介绍在angularjs调用ueditor百度编辑器例子,有兴趣的可一起来看看. 一直以来,angularjs的富文本编辑器都比较难做,主要是第三方的编辑器很难集成进来,今天花时间研究了一下,发现ueditor主要加载两个js文件 ueditor.config.js ueditor.all.js 能不能把这两个文件异步加载呢?答案是肯定的.我们新建一个服务用来异步加载资源,并设置必要的回调方法. 服务代码:

ObjectARX杂碎--(学习指南及书籍)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------[注]所有文字,权当个人留存.若君不幸踏访,切无讥讽,确有可取之处,不妨随心借取,确有错漏之处,还望不吝赐教.交流:[email protected] ----------