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 相关文章推荐
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
用js判断页面是否加载完成实现代码
Dec 11 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
May 14 Javascript
jQuery事件绑定和委托实例
Nov 25 Javascript
js实现字符串转日期格式的方法
May 20 Javascript
jquery获取url参数及url加参数的方法
Oct 26 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
Jan 05 Javascript
Vue.js中的图片引用路径的方式
Jul 28 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 jQuery
Angular 实现输入框中显示文章标签的实例代码
Nov 07 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 Javascript
Vue2项目中对百度地图的封装使用详解
Jun 16 Vue.js
微信小程序地图实现展示线路
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中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
javascript基本语法分析说明
2008/06/15 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
2018/01/25 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
python SVD压缩图像的实现代码
2019/11/05 Python
python获取array中指定元素的示例
2019/11/26 Python
python django中8000端口被占用的解决
2019/12/17 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
Dune London官网:英国著名奢华鞋履品牌
2017/11/30 全球购物
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
莫斯科大型旅游休闲商品超市:Camping.ru
2020/09/16 全球购物
灵泰克Java笔试题
2016/01/09 面试题
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
教育合作协议范本
2014/10/17 职场文书