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 相关文章推荐
ANGULARJS中用NG-BIND指令实现单向绑定的例子
Dec 08 Javascript
JS模式之简单的订阅者和发布者模式完整实例
Jun 30 Javascript
jQuery使用ajax跨域获取数据的简单实例
May 18 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
Oct 17 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
Oct 20 Javascript
通过一个简单的例子学会vuex与模块化
Nov 22 Javascript
bootstrap中selectpicker下拉框使用方法实例
Mar 22 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
Apr 16 Javascript
详解ES6 Promise的生命周期和创建
Aug 18 Javascript
JavaScript进阶(三)闭包原理与用法详解
May 09 Javascript
javascript中正则表达式语法详解
Aug 07 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
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
截获网站title标签之家内容的例子
2006/10/09 PHP
PHP nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
2009/08/21 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
关于JSON以及JSON在PHP中的应用技巧
2013/11/27 PHP
常用PHP框架功能对照表
2014/10/23 PHP
Extjs 几个方法的讨论
2010/01/28 Javascript
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
Django model select的多种用法详解
2019/07/16 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
党章学习思想汇报
2014/01/14 职场文书
蓝颜请假条
2014/04/11 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
教师党员个人总结
2015/02/10 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang
vue router 动态路由清除方式
2022/05/25 Vue.js