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 相关文章推荐
jQuery入门知识简介
Mar 04 Javascript
js加减乘除丢失精度问题解决方法
May 16 Javascript
jquery实现弹出层登录和全屏层注册特效
Aug 28 Javascript
简单谈谈javascript中的变量、作用域和内存问题
Aug 30 Javascript
js时间比较 js计算时间差的简单实现方法
Aug 26 Javascript
vue2.0移除或更改的一些东西(移除index key)
Aug 28 Javascript
微信小程序实现图片放大预览功能
Oct 22 Javascript
浅析从vue源码看观察者模式
Jan 29 Javascript
vue之将echart封装为组件
Jun 02 Javascript
vuejs实现折叠面板展开收缩动画效果
Sep 06 Javascript
8 个有用的JS技巧(推荐)
Jul 03 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 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 各种排序算法实现代码
2009/08/20 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
jquery之empty()与remove()区别说明
2010/09/10 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
vue实现滑动到底部加载更多效果
2020/10/27 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
Python使用htpasswd实现基本认证授权的例子
2014/06/10 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
python3个性签名设计实现代码
2018/06/19 Python
通过实例学习Python Excel操作
2020/01/06 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
体育教育个人自荐信范文
2013/12/01 职场文书
计算机操作自荐信
2013/12/07 职场文书
试用期转正鉴定评语
2014/01/27 职场文书
活动总结格式范文
2014/04/26 职场文书
测量员岗位职责
2015/02/14 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
公司档案管理制度
2015/08/05 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
浅谈Python类的单继承相关知识
2021/05/12 Python