JavaScript--模拟百度搜索下拉li
上效果:

主要思路:
函数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的更多相关文章
- vue实现百度搜索下拉提示功能
这段代码用到vuejs和vue-resouece.实现对接智能提示接口,并通过上下键选择提示项,按enter进行搜索 <!DOCTYPE html> <html lang=" ...
- Ajax跨域实现淘宝/百度搜索下拉提示效果
最近学到Ajax,觉得自己对与前后端的数据交互有了一个基本的了解.下面是Ajax应用到淘宝/百度的搜索功能的一个简单的小实例,就是输入一个词,下拉框中自动显示匹配的内容:
- jquery 仿百度搜索下拉框的插件
转载地址:http://www.open-open.com/lib/view/open1420624048437.html 今天写了个下拉插件分享出来 效果: , 可以搜素,也可以使用上下键选择匹配出 ...
- 利用 lucene.net 实现高效率的 WildcardQuery ,记一次类似百度搜索下拉关键字联想功能的实现。
打开百度输入 站内搜索也要实现类似功能.最基础的做法,写个方法查数据库搜索历史综合表keywordSearch(先将被搜索过的关键字记录到一张表,记录好他们被搜索的次数.上次搜索的有多少结果) 大概 ...
- z-blog博客组插件openSug.js百度搜索下拉框提示代码
z-blog安装openSug插件即可获得带有“搜索框提示”功能的搜索框,让z-blog搜索更便捷! https://www.opensug.org/.../opensug_z-blog_v1.0 ...
- JavaScript实现百度搜索页面
JavaScript实现百度搜索页面 HTML <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...
- python--selenium简单模拟百度搜索点击器
python--selenium简单模拟百度搜索点击器 发布时间:2018-02-28 来源:网络 上传者:用户 关键字: selenium 模拟 简单 点击 搜索 百度 发表文章摘要:用途:简单模拟 ...
- JavaScript-dom3 json_str dom元素控制 模拟百度搜索
访问关系-封装代码 html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- Splinter学习--初探1,模拟百度搜索
Splinter是以Selenium, PhantomJS 和 zope.testbrowser为基础构建的web自动化测试工具,基本原理同selenium 支持的浏览器包括:Chrome, Fire ...
随机推荐
- Java虚拟机系列(三)---内存溢出情况及解决方法
因为Java虚拟机内存有堆内存.方法区.虚拟机栈.本地方法栈和程序计数器五部分组成,其中程序计数器是唯一一块不会发生内存溢出异常的内存区,所以只有四类内存区可能发生内存溢出异常,其中虚拟机栈和本地方法 ...
- IndentationError: expected an indented block错误
Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的python程序员,也可能陷入陷阱当中.最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分 ...
- Configuring to Debug and Workaround Broken Client Applications
背景:C3P0数据库连接池占满 Configuring to Debug and Workaround Broken Client Applications http://www.mchange.co ...
- OpenCV cvReleaseImage把图像怎么样了?
cvReleaseImage(img)和free.delete相同,只是把该指针img所指的内存给释放掉,但并没有把img指针本身干掉,其地址仍然不变(非NULL),只是该地址对应的内存是垃 ...
- 《DSP using MATLAB》Problem 7.32
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 隐藏和显示<td>
<td id="ifXc"><input type="text" value="1"></td>隐藏$( ...
- 详解Spring MVC 4常用的那些注解
Spring从2.5版本开始在编程中引入注解,用户可以使用@RequestMapping, @RequestParam, @ModelAttribute等等这样类似的注解.到目前为止,Spring的版 ...
- Django项目:CRM(客户关系管理系统)--38--30PerfectCRM实现King_admin编辑自定义字段验证
# kingadmin.py # ————————04PerfectCRM实现King_admin注册功能———————— from crm import models #print("ki ...
- Shell中字符串、数值的比较
原文:http://apps.hi.baidu.com/share/detail/31263915 在shell中字符串与数值的比较方法是不同的,要注意区分 整数比较: -eq 等于 ...
- Django用户登陆以及跳转后台管理页面1
"""S14Djngo URL Configuration The `urlpatterns` list routes URLs to views. For more i ...