上效果:

主要思路:

函数indexOf() 、join()、innerHTML的使用,还有 用完的数组要清空

 <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
body {
font-size: 20px;
}
.box {
width: 600px;
height: 40px;
margin: 200px auto;
position: relative;
}
#txt {
width: 488px;
height: 38px;
border: 1px solid #3385ff;
font-size: 20px;
float: left;
outline: none;
padding-left: 10px;
}
#search {
width: 100px;
height: 40px;
float: left;
border:0 none;
background-color: #3385ff;
color:#fff;
cursor: pointer;
}
#keywords {
position: absolute;
top: 40px;
left: 0;
background-color: rgb(12, 255, 24);
list-style: none;
width: 500px;;
}
li {
line-height: 24px;
}
</style>
</head>
<body>
<div class="box">
<div class="baidu">
<input type="text" id="txt"/>
<input type="button" value="百度一下" id="search"/>
</div>
<ul id="keywords"></ul>
</div>
<script> // 这里是模拟我们的数据库
var keywords = ["冬天吃什么","冬天的离别","冬天有多冷","林丹林丹","林丹夺冠","123","123456","JavaScript","Java","黄鳝","黄鳝煮汤","黄鳝煮粥","咸鱼","咸鱼茄子煲","咸鱼翻身","十九大","十八大","十全十美"];
var txt = document.getElementById('txt');
var search = document.getElementById('search');
var ul = document.getElementById('keywords'); txt.onkeyup = function () {
// 取出目前输入的关键字
var txtValue = txt.value.trim(); //存储与当前关键字相关的字符串信息的数组
var aimArr = [];
for(var i = 0 ; i < keywords.length ; i++ ) {
// keywords数组中的字符串是否含义该关键字,含有的话存储进aimArr
if(keywords[i].indexOf(txtValue) != -1) { // 没有返回-1
aimArr.push(keywords[i]);
}
}
// 如果输入为空
if (txtValue.length == 0 ) {
aimArr = [];
} // 把aimArr设置进ul中js动态添加的li里面
// 创建li
var lis = []; // 新创建的li存储在lis数组里面
for(var i = 0 ; i < aimArr.length ; i++ ) {
lis.push("<li>"+aimArr[i]+"</li>");
}
// 把lis数组转为字符串,添加进ul中
ul.innerHTML = lis.join(""); } </script>
</body>
</html>

JavaScript--模拟百度搜索下拉li的更多相关文章

  1. vue实现百度搜索下拉提示功能

    这段代码用到vuejs和vue-resouece.实现对接智能提示接口,并通过上下键选择提示项,按enter进行搜索 <!DOCTYPE html> <html lang=" ...

  2. Ajax跨域实现淘宝/百度搜索下拉提示效果

    最近学到Ajax,觉得自己对与前后端的数据交互有了一个基本的了解.下面是Ajax应用到淘宝/百度的搜索功能的一个简单的小实例,就是输入一个词,下拉框中自动显示匹配的内容:

  3. jquery 仿百度搜索下拉框的插件

    转载地址:http://www.open-open.com/lib/view/open1420624048437.html 今天写了个下拉插件分享出来 效果: , 可以搜素,也可以使用上下键选择匹配出 ...

  4. 利用 lucene.net 实现高效率的 WildcardQuery ,记一次类似百度搜索下拉关键字联想功能的实现。

    打开百度输入  站内搜索也要实现类似功能.最基础的做法,写个方法查数据库搜索历史综合表keywordSearch(先将被搜索过的关键字记录到一张表,记录好他们被搜索的次数.上次搜索的有多少结果) 大概 ...

  5. z-blog博客组插件openSug.js百度搜索下拉框提示代码

      z-blog安装openSug插件即可获得带有“搜索框提示”功能的搜索框,让z-blog搜索更便捷! https://www.opensug.org/.../opensug_z-blog_v1.0 ...

  6. JavaScript实现百度搜索页面

    JavaScript实现百度搜索页面 HTML <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  7. python--selenium简单模拟百度搜索点击器

    python--selenium简单模拟百度搜索点击器 发布时间:2018-02-28 来源:网络 上传者:用户 关键字: selenium 模拟 简单 点击 搜索 百度 发表文章摘要:用途:简单模拟 ...

  8. JavaScript-dom3 json_str dom元素控制 模拟百度搜索

    访问关系-封装代码 html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  9. Splinter学习--初探1,模拟百度搜索

    Splinter是以Selenium, PhantomJS 和 zope.testbrowser为基础构建的web自动化测试工具,基本原理同selenium 支持的浏览器包括:Chrome, Fire ...

随机推荐

  1. Python学习 备注(2)

    由于python下许多框架都是在python2下的,python3向下不兼容 需安装python2 安装好后,使用pip安装python下的框架scrapy 总是报错,最后发现是包管理器,pip的版本 ...

  2. Matlab---length函数

    1.length函数:计算向量或矩阵的长度 2.用法说明 y = length(x) 函数计算指定向量或矩阵的长度y.如果参数变量x是向量,则返回其长度:如果参数变量是非空矩阵,则length(x)与 ...

  3. Javascript-new Date() 与 Date() 的区别

    var today1 = Date() //返回一个字符串(string),没有getDate等日期对象方法,内容为当前时间 var today2 = new Date() //返回一日期对象,内容为 ...

  4. 【html、CSS、javascript-2】CSS基础

    CSS CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. 一 css的四种引入方式 1.行内式          ...

  5. SPOJ 2916 GSS5 - Can you answer these queries V

    传送门 解题思路 和GSS1相似,但需要巨恶心的分类讨论,对于x1<=y1< x2< =y2 这种情况 , 最大值应该取[x1,y1]的右端最大+[y1+1,x2-1]的和+[x2, ...

  6. centos apache安装oracle扩展

    参考网址: http://blog.csdn.net/a82168506/article/details/11763989 步骤如下: 下载安装包,下载地址.(我下载的11.1版本) http://w ...

  7. 关于parseInt进行进制的转换

    ["1", "2", "3"].map(parseInt) 答案是多少? 考察点:1 . ES5的map方法,接收参数并且callback计 ...

  8. 使用SpringBoot发送mail邮件

    1.前言 发送邮件应该是网站的必备拓展功能之一,注册验证,忘记密码或者是给用户发送营销信息.正常我们会用JavaMail相关api来写发送邮件的相关代码,但现在springboot提供了一套更简易使用 ...

  9. Leetcode590N-ary Tree Postorder TraversalN叉树的后序遍历

    给定一个 N 叉树,返回其节点值的后序遍历. class Node { public: int val; vector<Node*> children; Node() {} Node(in ...

  10. js的DOM节点操作:创建 ,插入,删除,复制,查找节点

    DOM含义:DOM是文档对象模型(Document Object Model,是基于浏览器编程的一套API接口,是W3C出台的推荐标准.其赋予了JS操作节点的能力.当网页被加载时,浏览器就会创建页面的 ...