搜索栏联想词提示

在我们需要游览一些网站的时候,我们经常需要使用搜索引擎来进行搜索,无论是百度谷歌还是搜狐等,我们都需要在搜索栏中输入相关的搜索词,当我们点击进行输入的时候,下面会给出许许多多的提示词,程序自动联想你可能输入的内容,所以往往我们只输入了一个词就看到了我们想要的题目直接点击进行搜索就行了。

那麽我们如何来实现如上所说的联想词提示的搜索效果的呢???

首先我们来看一下效果
在这里插入图片描述

如上图所示效果非常完美,那麽程序到底如何呢?

程序展示

html

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>相似查询</title><link rel="stylesheet" type="text/css" href="css/style.css" /></head><body><script src="/demos/googlegg.js"></script><div id="out"><div id="ser_box"><input type="search" id="ipt" /><span><input id="su" value="搜索一下" class="bg s_btn" type="submit"></span></div><div id="bot_box"><ul id="oul"></ul></div></div><script src="js/style.js" type="text/javascript" charset="utf-8"></script></body>
</html>

style.css

* {margin: 0;padding: 0;
}#out {width: 500px;height: 140px;margin: 300px auto;
}#ser_box {width: 500px;height: 32px;border: 1px solid blue;text-align: center;
}#ipt {width: 480px;height: 26px;margin-top: 2px;border: 0;outline: 0;font-family: "微软雅黑";font-size: 16px;
}#bot_box {width: 500px;border: 1px solid #4C9ED9;border-top: none;display: none;
}#bot_box ul li {list-style: none;line-height: 25px;padding-left: 10px;
}#bot_box ul li:hover {background: #BCBCBC;
}.s_btn {position: relative;left: 300px;top: -31px;width: 100px;height: 36px;color: #fff;font-size: 15px;letter-spacing: 1px;background: #3385ff;border-bottom: 1px solid #2d78f4;outline: medium;
}.sel {background: #BCBCBC;
}

style.js

function $(id) {return document.getElementById(id);
}var ipt = $("ipt");
var ser = $("ser_box");
var bot = $("bot_box");
var oul = $("oul");ipt.oninput = function() {var ss = ipt.value;var url = "http://suggestion.baidu.com/su?cb=queryList&wd=" + ss;addScript(url);
}ipt.onfocus = function() {var ss = ipt.value;var url = "http://suggestion.baidu.com/su?cb=queryList&wd=" + ss;addScript(url);}function queryList(data) {ss = document.getElementsByTagName("script")[0];document.body.removeChild(ss)var arr = data.s;oul.innerHTML = "";if (arr.length == 0) {bot.style.display = "none";} else {bot.style.display = "block";}for (var i = 0; i < arr.length; i++) {li = document.createElement("li");li.innerHTML = arr[i];li.onclick = function() {oul.innerHTML = "";ipt.value = this.innerHTML;bot.style.display = "none";}oul.appendChild(li);}
}function addScript(url) {var s = document.createElement("script");s.src = url;s.type = "text/javascript";document.body.appendChild(s);
}/*取li*/lis = document.getElementsByTagName("li");/*按键*/
var i = 0;document.onkeydown = function(ev) {if (bot.style.display == "block") {if (ev.keyCode == 40) {for (var j = 0; j < lis.length; j++) {if (lis[j].className == "sel") {lis[j].className = "";}}if (i < lis.length) {lis[i].className = "sel";i++;if (i == lis.length) {i = 0;}}}if (ev.keyCode == 38) {m = 0for (; m < lis.length; m++) {if (lis[m].className == "sel") {lis[m].className = "";break;}}i = m;if (m > 0) {lis[m - 1].className = "sel";} else {lis[lis.length - 1].className = "sel";}}if (ev.keyCode == 13) {for (var n = 0; n < lis.length; n++) {if (lis[n].className == "sel") {ipt.value = lis[n].innerHTML;}}bot.style.display = "none";}} else {i = 0;m = 0;}
}

了解更多关注我哟!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【OpenCV 例程200篇】220.对图像进行马赛克处理

文章目录&#xff1a;『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】220.对图像进行马赛克处理 9. 图像的马赛克处理 马赛克效果是广泛使用的图像和视频处理方法。将图像中指定区域的色阶细节劣化&#xff0c;造成色块模糊的效果&#xff0c;看上…

主成分分析得分 matlab,主成分分析Matlab程序设计

PCA步骤&#xff1a;(1)对原始数据进行标准化处理(2)计算样本相关系数矩阵(3)计算相关系数矩阵R的特征值和相应的特征向量(4)选择重要的主成分&#xff0c;写出主成分表达式案例问题&#xff1a;企业综合实力排序企业综合实力评价表&#xff1a;企业序号净利润率/%固定资产利润…

【OpenCV 例程200篇】223. 特征提取之多边形拟合(cv.approxPolyDP)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】223. 特征提取之多边形拟合 目标特征的基本概念 通过图像分割获得多个区域&#xff0c;得到区域内的像素集合或区域边界像素集合。我们把感兴趣的人或物称为目标&#xff0c;目标所处的区域就是目标…

matlab指令vpa(j10),matlab中vpa函数

Matlab中矩阵函数_IT/计算机_专业资料。Matlab中矩阵函数 矩阵转置...Matlab 中 solve 函数主要是用来求解线性方程组的解析解或者精确解。对于得 出的结果是符号变量,可以通过 vpa()得出任意位数的数值解! solve 函数的语法定义主要有......控制系统matlab常用函数的使用_计算…

Eclipse快捷键生成语句

当我们使用Eclipse进行项目的开发的时候&#xff0c;有的时候我们需要重复输入main方法和输出语句等&#xff0c;下面就教给大家如何在Eclipse开发中使用快捷键生长main方法和输出语句。 快捷键生成语句 生成main方法&#xff1a;输入"main" &#xff0c;按ALT/&…

【OpenCV 例程200篇】221.加密马赛克图像处理与解密复原

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】221.加密马赛克图像处理与解密复原 9. 图像的马赛克处理 马赛克效果是广泛使用的图像和视频处理方法。将图像中指定区域的色阶细节劣化&#xff0c;造成色块模糊的效果&#xff0c;看上去像是一个个…

小网站asp好还是php好,网站程序是asp好还是php好,哪个更利于优化?

网站程序是asp好还是php好呢&#xff1f;如果我们要做seo优化&#xff0c;哪一个又更利于优化呢&#xff1f;毕竟&#xff0c;现在在网上所看到的程序&#xff0c;是比较多的&#xff0c;选择一个好的网站程序&#xff0c;可以少走很多弯路。如果&#xff0c;大家建一个网站是为…

Java IO深入

IO体系 Java IO 体系种类繁多&#xff0c;感觉很复杂&#xff0c;但其实是 IO 涉及的因素太多了。在进行介绍的时候添加了设计模式等的使用&#xff0c;会让你感觉更加难以理解难以使用这些IO类&#xff0c;在此对java的IO做了一个详细的总结。 IO 类设计出来&#xff0c;肯定…

【OpenCV 例程200篇】222. 特征提取之弗里曼链码(Freeman chain code)

OpenCV 例程200篇 总目录 【youcans 的 OpenCV 例程200篇】222. 特征提取之弗里曼链码&#xff08;Freeman chain code&#xff09; 目标特征的基本概念 通过图像分割获得多个区域&#xff0c;得到区域内的像素集合或区域边界像素集合。我们把感兴趣的人或物称为目标&#xff…

python2与python3,Python2和Python3的10大区别

1.性能Py3.0运行pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间&#xff0c;在字符串和整形操作上可以取得很好的优化结果。2.编码Py3.0源码文件默认使用utf-8编码&#xff0c;这就使得以下代码是合法的&#xff1a;>>>中国 china>>>…

【OpenCV 例程200篇】224. 特征提取之提取骨架

OpenCV 例程200篇 总目录 【youcans 的 OpenCV 例程200篇】224. 特征提取之提取骨架 目标特征的基本概念 通过图像分割获得多个区域&#xff0c;得到区域内的像素集合或区域边界像素集合。我们把感兴趣的人或物称为目标&#xff0c;目标所处的区域就是目标区域。 特征通常是针…

inuri .php id=,php常用函数(遇见就补充)

preg_match()preg_match(string pattern, string subject [, array matches [, int flags]])在subject字符串中搜索与 pattern给出的正则表达式相匹配的内容。如果提供了 matches&#xff0c;则会被搜索的结果所填充。$matches[0]将包含于整个模式匹配的文本&#xff0c;$match…

【OpenCV 例程200篇】226. 区域特征之紧致度/圆度/偏心率

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】226. 区域特征之紧致度/圆度/偏心率 特征通常是针对于图像中的某个目标而言的。 我们把感兴趣的人或物称为目标&#xff0c;目标所处的区域就是目标区域。图像分割之后&#xff0c;还要对目标区域进…

Java常见的几种设计模式

单例模式 指一个应用程序中&#xff0c;某个类的实例对象只有一个&#xff0c;你没有办法去new&#xff0c;因为构造器是被private修饰的&#xff0c;一般通过getInstance()的方法来获取它们的实例。 getInstance()的返回值是一个对象的引用&#xff0c;并不是一个新的实例&a…

【OpenCV 例程200篇】227. 特征描述之 LBP 纹理特征算子

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】227. 特征描述之 LBP 纹理特征算子 特征通常是针对于图像中的某个目标而言的。 针对目标所在区域的特征描述符&#xff08;Region descriptors&#xff09;&#xff0c;称为区域特征描述子。 4.2 纹…

php日志数据统计,awk 进行php日志累计报错统计

问题线上服务器一百多台通过tail -f /var/log/error_web* 方式来查看&#xff0c;速度滚动刷新太快&#xff0c;而且不方便定位问题按照前辈的『观察法』&#xff0c;作为新人实在是有难度&#xff0c;所以使用awk命令对输出格式格式化了一下。思路将每一行tail得到的日志通过a…

【OpenCV 例程200篇】228. 特征描述之 extendLBP 改进算子

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】228. 特征描述之 extendLBP 改进算子 特征通常是针对于图像中的某个目标而言的。针对目标所在区域的特征描述符&#xff08;Region descriptors&#xff09;&#xff0c;称为区域特征描述子。 局部…

Java设计模式汇总详解

设计模式 设计模式是很多程序员总结出来的最佳实践。曾经在刚开始写项目的时候学习过设计模式&#xff0c;在开发过程中&#xff0c;也主动或者被动的使用过。现在写代码虽说不会特意明确在用哪种设计模式&#xff0c;但潜移默化的写出来公认的最佳实践代码&#xff0c;毕竟看…

php中reset函数,PHP reset()函数

实例 1所有相关方法的演示&#xff1a;$people array("Peter", "Joe", "Glenn", "Cleveland");echo current($people) . ""; // The current element is Peterecho next($people) . ""; // The next element of …

【OpenCV 例程200篇】229. 特征描述之 LBP 算子比较(skimage)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】229. 特征描述之 LBP 算子比较&#xff08;skimage&#xff09; 局部二值模式&#xff08;LBP&#xff0c;Local binary patterns&#xff09;是一种用来描述图像局部纹理特征的算子&#xff0c;它具…