js模拟实现百度搜索


Posted in Javascript onJune 28, 2020

本文实例为大家分享了js实现百度搜索的具体代码,供大家参考,具体内容如下

总体思路:用户在文本框里输入的是什么,就来数组中遍历每个元素,找输入的内容是否在遍历到的元素里面,如果在,就把这个元素做成li标签加到ul里,如果不在就不操作

怎么判断在不在字符串里?

xxx.indexOf(内容) != -1

onkeyup事件:

键盘弹起时会触发的事件

效果图:

js模拟实现百度搜索

<!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: 498px;
 height: 38px;
 border: 1px solid #eee;
 font-size: 20px;
 }
 
 #search {
 width: 100px;
 height: 40px;
 }
 
 #keywords {
 position: absolute;
 top: 40px;
 left: 0;
 background-color: rgb(12, 255, 24);
 list-style: none;
 width: 500px;;
 }
 
 li {
 line-height: 24px;
 }
 
 /*/!*是li标签,并且鼠标移入的时候变红*!/*/
 /*li:hover {*/
 
 /*background-color: red;*/
 /*}*/
 </style>
</head>
<body>
 
 
<div class="box">
 <div class="top">
 <input type="text" id="txt"/><input type="button" value="search" id="search"/>
 </div>
 <ul id="keywords"></ul>
</div>
 
 
<script>
 
 //查找用户输入的关键字,就来这个数组找
 var keywords = ["zhongqiulan", "linda为什么很黑", "who are linda", "广东人", "广东人爱吃", "广东人爱吃福建人", "林丹的生平", "JavaScript", "Java", "王思聪", "王健林", "社会王", "隔壁老王", "班长以前为什么头发长", "aaaa", "hhhh", "cccc"];
 
 
 //找到显示结果的ul
 var ul = document.getElementById("keywords");
 
 //找到文本框
 var txt = document.getElementById("txt");
 
 //给文本框加键盘弹起事件(当用户在文本框里按键盘上的任意键并弹起时触发)
 txt.onkeyup = function () {
 
 
 //事件刚刚触发就先清空上一次的结果(其实就是把ul清空)
 ul.innerHTML = "";
 
 //拿到用户输入的内容 this是文本框
 var str = this.value;
 
 //如果拿到空字符串,就不要执行下面的代码
 if (str == "") {
 
 return;
 }
 
 //遍历数组,拿到所有结果
 for (var i = 0; i < keywords.length; i++) {
 
 //判断当前某一个结果里是否包含用户输入的内容
 if (keywords[i].indexOf(str) != -1) {
 
 //把当前结果做成li标签
 var li = document.createElement("li");
 li.innerHTML = keywords[i];
 
 //添加到ul里显示
 ul.appendChild(li);
 
 //每创建一个li标签就加一个鼠标移入事件
 li.onmouseover = function () {
  this.style.backgroundColor = "red";
 }
 
 //鼠标移出时把被移出的li颜色清空
 li.onmouseout = function () {
  this.style.backgroundColor = "";
 }
 
 //给每个li加点击事件
 li.onclick = function () {
 
  //要拿到被点击的li标签的内容
  //再把内容赋值给文本框
  txt.value = this.innerHTML;
  ul.innerHTML = "";
 }
 }
 }
 };
 
 
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
深入理解JavaScript系列(47):对象创建模式(上篇)
Mar 04 Javascript
js表单登陆验证示例
Oct 19 Javascript
node.js利用redis数据库缓存数据的方法
Mar 01 Javascript
Vuejs 组件——props数据传递的实例代码
Mar 07 Javascript
angular-ngSanitize模块-$sanitize服务详解
Jun 13 Javascript
12条写出高质量JS代码的方法
Jan 07 Javascript
在vue项目中使用sass的配置方法
Mar 20 Javascript
vue使用v-for实现hover点击效果
Sep 29 Javascript
微信小程序中转义字符的处理方法
Mar 28 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
Apr 03 Javascript
Angular8 Http拦截器简单使用教程
Aug 20 Javascript
vue实现倒计时获取验证码效果
Apr 17 Javascript
微信小程序地图实现展示线路
Jul 29 #Javascript
vuex实现购物车的增加减少移除
Jun 28 #Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
Jun 28 #Javascript
vuex实现购物车功能
Jun 28 #Javascript
JavaScript图像放大镜效果实现方法详解
Jun 28 #Javascript
详细分析Node.js 模块系统
Jun 28 #Javascript
微信小程序实现拨打电话功能的示例代码
Jun 28 #Javascript
You might like
php中去除所有js,html,css代码
2010/10/12 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
javascript之函数直接量(function(){})()
2007/06/29 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
Iframe实现跨浏览器自适应高度解决方法
2014/09/02 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
Python字符编码与函数的基本使用方法
2017/09/30 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
智能旅行箱:Horizn Studios
2018/04/30 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
护士实习鉴定范文
2013/12/22 职场文书
新郎婚宴答谢词
2014/01/19 职场文书
金融事务专业求职信
2014/04/25 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
化工专业求职信
2014/07/01 职场文书
关于诚信的活动方案
2014/08/18 职场文书
实习推荐信格式模板
2015/03/27 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
Python3.8官网文档之类的基础语法阅读
2021/09/04 Python
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技