千家信息网

JavaScript怎么实现智能搜索框

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天小编给大家分享一下JavaScript怎么实现智能搜索框的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面
千家信息网最后更新 2026年11月03日JavaScript怎么实现智能搜索框

今天小编给大家分享一下JavaScript怎么实现智能搜索框的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

html部分

智能搜索框

css部分

html,

body,

div {

margin: 0;

padding: 0;

}

ul,

li {

list-style: none;

margin: 0;

padding: 0;

}

li {

border: 1px solid #ccc;

width: 500px;

padding: 2px 1px;

text-indent: 1rem;

}

li:hover{

background-color: #efebeb;

}

li b{

color: #f00;

}

.search {

width: 600px;

margin: 5% auto;

}

input {

width: 500px;

height: 30px;

font-size: 1.1rem;

text-indent: 1rem;

}

button {

font-size: 1.1rem;

margin-left: 10px;

width: 60px;

height: 35px;

}

JavaScript 部分

/*

** date:2021.12.20

** name:@前端小白?

*/

//1.2 分析数据结构

var arr=[

"薇某某偷逃税被罚13.41亿",

"延安新增确诊病例轨迹公布",

"澳门回归22周年",

"蕾神之锤vs宏慌之力,结局如何敬请期待",

"我很怀疑是不是汪峰汪半壁又要开演唱会了",

"起底吴某凡吴某凡吴某凡背后的疯狂饭圈",

"环球时报评王某宏必须凉"

]

//2.0功能入口

var inputStr=document.querySelector(".search-input");

var strUl=document.querySelector(".search-result");

var btn=document.querySelector(".btn");

inputStr.oninput=function(){

//2.0

if(this.value.length==0){

strUl[xss_clean]="";

return;

}

//2.1获取input框的值

var keywords=this.value;

//2.2消除两边空格

keywords=keywords.trim();

//2.3消除中间空格

keywords=trimAll(keywords)

// 2.4拆分关键字

var keysArr = keywords.split(" ");

// 2.5关键字去重

keysArr=removeRepetition(keysArr);

// 2.6从数据源匹配结果

var resultsAll=matching(keysArr,arr);

// 2.7渲染

renders(resultsAll,strUl);

for (let i = 0; i < resultsAll.length; i++) {

let list=document.querySelectorAll(".search-result>li")

list[i].addEventListener("click",function(){

var URL="http://www.baidu.com/s?ie=UTF-8&wd=";

if(list[i][xss_clean]==""){

_window.location.href=URL;

}else{

URL="http://www.baidu.com/s?ie=UTF-8&wd="+ list[i][xss_clean];

console.log(list);

_window.location.href=URL;

}

});

}

}

//2.8点击搜索

btn.addEventListener("click",skip);

// 工具函数

// 消除中间空格

function trimAll(_keywords){

for(let i=0; _keywords.indexOf(" ")!=-1; i++){

_keywords = _keywords.replace(" ", " ");

}

return _keywords;

}

// 消除关键字重复

function removeRepetition(_keysAll){

var iteam=[];

for (let i = 0; i < _keysAll.length; i++) {

if(iteam.indexOf(_keysAll[i])==-1){

iteam.push(_keysAll[i])

}

}

return iteam;

}

//匹配结果

function matching(_keysAll,_arr){

var iteam=[];

for (let i = 0; i< arr.length; i++) {

var flag=true;

for (let j = 0; j < _keysAll.length; j++) {

if(!_arr[i].includes(_keysAll[j])){

flag=false;

break;

}

}

if(flag){

iteam.push(_arr[i]);

}

}

return iteam

}

//渲染

function renders(_resultsAll,_strUL) {

_strUL[xss_clean]="";

for (let i = 0; i < _resultsAll.length; i++) {

var iteamLi=document.createElement("li");

iteamLi[xss_clean]=_resultsAll[i];

_strUL.appendChild(iteamLi);

}

}

//挑转

function skip(){

var URL="http://www.baidu.com/s?ie=UTF-8&wd=";

if(strUl[xss_clean]==" "){

_window.location.href=URL;

}else{

URL="http://www.baidu.com/s?ie=UTF-8&wd="+strUl[xss_clean];

_window.location.href=URL;

}

}

以上就是"JavaScript怎么实现智能搜索框"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

搜索 知识 篇文章 智能 关键 关键字 空格 部分 吴某 内容 数据 结果 不同 很大 疯狂 入口 函数 前端 功能 半壁 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技有限公司 江苏根荣互联网科技 互联网科技革命 百单互联网科技有限公司 互联网科技的未来发展 科技大学互联网专业好不好 中国最先进互联网科技公司 互联网科技创新服务 洛阳昕诺飞互联网科技有限公司 企晟互联网信息科技有限公司 北京市互联网新科技 广州千川互联网科技有限公司 郑州欣桑互联网科技有限公司 广西科技产业互联网是什么 唐山双旺合互联网科技产业园 互联网科技和医药行业 互联网科技大会大佬 河南商务圈互联网科技有限公司 互联网领先科技成果宣传视频 互联网高科技绘画 金融科技与互联网金融 亿账通互联网科技 济南和联互联网科技有限公司 科技赋能互联网健康 汽车互联网创新科技园 开一家科技互联网公司需要多少钱 河南住房之家互联网科技 黑科技 体验场景 互联网大会 浙南科技城互联网大厦招聘 北京瑞云互联网科技有限公司
0