分享更有价值
被信任是一种快乐

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: #f0免费云主机、域名0;
}
.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.innerHTML=””;
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

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].innerHTML==””){
window.location.href=URL;
}else{
URL=”http://www.baidu.com/s?ie=UTF-8&wd=”+ list[i].innerHTML;
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

if(iteam.indexOf(_keysAll[i])==-1){
iteam.push(_keysAll[i])
}
}
return iteam;
}
//匹配结果
function matching(_keysAll,_arr){
var iteam=[];
for (let i = 0; i

var flag=true;
for (let j = 0; j

if(!_arr[i].includes(_keysAll[j])){
flag=false;
break;
}
}
if(flag){
iteam.push(_arr[i]);
}
}
return iteam
}
//渲染
function renders(_resultsAll,_strUL) {
_strUL.innerHTML=””;
for (let i = 0; i

var iteamLi=document.createElement(“li”);
iteamLi.innerHTML=_resultsAll[i];
_strUL.appendChild(iteamLi);
}
}
//挑转
function skip(){
var URL=”http://www.baidu.com/s?ie=UTF-8&wd=”;
if(strUl.innerHTML==” “){
window.location.href=URL;
}else{
URL=”http://www.baidu.com/s?ie=UTF-8&wd=”+strUl.innerHTML;
window.location.href=URL;
}
}以上就是“JavaScript怎么实现智能搜索框”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注云技术行业资讯频道。

相关推荐: Node常见的安全处理方法有哪些

这篇文章主要介绍“Node常见的安全处理方法有哪些”,在日常操作中,相信很多人在Node常见的安全处理方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node常见的安全处理方法有哪些”的疑惑有所帮助!接下来,请跟着小编一…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册