百度检索例子
2019-02-11
使用文本框搜索时,可以显示下拉栏,并且下拉栏中显示的内容的前几个字就是文本框内的关键字
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> #box { width: 450px; margin: 200px auto; } #txt { width: 350px; } #pop { width: 350px; border: 1px solid red; } #pop ul { margin: 10px; padding: 0px; width: 200px; list-style-type: none; } #pop ul li { } </style> </head> <body> <div id="box"> <input type="text" id="txt" value=""> <input type="button" value="搜索" id="btn"> </div> <script src="common.js"></script> <script> var keyWords = ["小杨才是最纯洁的", "小杨才是最帅的", "小段是最猥琐的", "小超是最龌龊的", "传智播客是一个培训机构", "传说在传智有个很帅很纯洁的小杨", "苹果好吃", "苹果此次召回还是没有中国"]; //获取文本框注册键盘抬起事件 my$("txt").onkeyup = function () { //每一次的键盘抬起都判断页面中有没有这个div if(my$("dv")){ //删除一次 my$("box").removeChild(my$("dv")); } //获取文本框输入的内容 var text = this.value; //临时数组--空数组------->存放对应上的数据 var tempArr = []; //把文本框输入的内容和数组中的每个数据对比 for (var i = 0; i < keyWords.length; i++) { //是否是最开始出现的 if (keyWords[i].indexOf(text) == 0) { tempArr.push(keyWords[i]);//追加 } } //如果文本框是空的,临时数组是空的,不用创建div if (this.value.length == 0 || tempArr.length == 0) { //如果页面中有这个div,删除这个div //先删除再创建,如果输入完之后,又删除,当前文本框为空,而却后面不用在创建div,所以在删除的后面加return;跳出function if (my$("dv")) { my$("box").removeChild(my$("dv")); } return; } //创建div,把div加入id为box的div中 var dvObj = document.createElement("div"); my$("box").appendChild(dvObj); dvObj.id = "dv"; dvObj.style.width = "350px"; //dvObj.style.height="100px";//肯定是不需要的------ dvObj.style.border = "1px solid green"; //循环遍历临时数组,创建对应的p标签 for (var i = 0; i < tempArr.length; i++) { //创建p标签 var pObj = document.createElement("p"); //把p加到div中 dvObj.appendChild(pObj); setInnerText(pObj, tempArr[i]); pObj.style.margin = 0; pObj.style.padding = 0; pObj.style.cursor = "pointer"; pObj.style.marginTop = "5px"; pObj.style.marginLeft = "5px"; //鼠标进入 pObj.onmouseover = function () { this.style.backgroundColor = "yellow"; }; //鼠标离开 pObj.onmouseout = function () { this.style.backgroundColor = ""; }; } }; </script> </body> </html>
作者:攻城狮?
出处:https://www.cnblogs.com/daiSir/p/10363165.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人