iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >JavaScript怎么实现智能搜索框
  • 826
分享到

JavaScript怎么实现智能搜索框

2024-04-02 19:04:59 826人浏览 薄情痞子
摘要

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

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

 html部分

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta Http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>智能搜索框</title>

    <link rel="stylesheet" href="./search.CSS">

</head>

<body>

    <!-- 页面结构 -->

    <div class="search">

        <input class="search-input" type="text" autofocus="autofocus" placeholder="请输入关键字,用空格间隔关键字" value="">

        <button class="btn">搜索</button>

        <ul class="search-result"></ul>

    </div>

    <script src="./search.js"></script>

</body>

</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 部分

//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 < 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].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 < _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.innerHTML="";    

    for (let i = 0; i < _resultsAll.length; 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.js频道。

--结束END--

本文标题: JavaScript怎么实现智能搜索框

本文链接: https://www.lsjlt.com/news/91066.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript怎么实现智能搜索框
    今天小编给大家分享一下JavaScript怎么实现智能搜索框的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2022-10-19
  • java怎么实现搜索框搜索功能
    要实现搜索框搜索功能,可以按照以下步骤进行:1. 在前端页面上创建一个搜索框,如一个文本框和一个按钮。2. 在后端创建一个处理搜索请...
    99+
    2023-09-26
    java
  • Servlet+Ajax如何实现智能搜索框智能提示功能
    小编给大家分享一下Servlet+Ajax如何实现智能搜索框智能提示功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!利用无刷新技术智能变换搜索框的提示,同百度搜...
    99+
    2023-06-08
  • Ajax如何实现智能提示搜索功能
    这篇文章主要介绍Ajax如何实现智能提示搜索功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、效果图:二、实现过程:  思路: 三、部分代码:html: <div&n...
    99+
    2023-06-08
  • Android实现实时搜索框功能
    AutoCompleteTextView,自动完成文本框。用于实现允许用户输入一定字符后,显示一个下拉菜单,供用户从中选择,当用户选择某个选项后,按用户选择自动填写该文本框。该组件继承EditText,所以它支持EditText组件提供的属...
    99+
    2023-05-30
    android 搜索框 roi
  • Android顶部搜索框怎么实现
    要实现Android顶部搜索框,可以使用Toolbar和SearchView组件。 首先,在你的布局文件中添加一个Toolbar组件...
    99+
    2023-10-26
    android
  • Ajax实现搜索框提示功能
    html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF...
    99+
    2022-11-13
  • css如何实现带搜索图标的搜索框功能
    这篇文章给大家分享的是有关css如何实现带搜索图标的搜索框功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言给大家分享一下前端用处很多的带小图标的搜索框的制作方法。效果展示基本思路搜索图像用绝对定位放到搜索框...
    99+
    2023-06-08
  • 怎么使用vue实现可搜索下拉框功能
    本篇内容主要讲解“怎么使用vue实现可搜索下拉框功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用vue实现可搜索下拉框功能”吧!效果图:子组件 DROPDOWN.VUE<...
    99+
    2023-07-04
  • 怎么用html5实现语音搜索框
    本篇内容主要讲解“怎么用html5实现语音搜索框”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用html5实现语音搜索框”吧!我们先看下他们的不同显示。下面...
    99+
    2022-10-19
  • DIV+CSS怎么实现搜索框布局
    这篇文章主要讲解了“DIV+CSS怎么实现搜索框布局”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DIV+CSS怎么实现搜索框布局”吧!搜索表单控件效果截图...
    99+
    2022-10-19
  • android怎么实现搜索功能
    要实现Android应用的搜索功能,你可以按照以下步骤进行操作: 创建一个搜索框:在你的布局文件中添加一个EditText或Se...
    99+
    2023-10-26
    android
  • JavaScript中怎么实现全文搜索
    这篇文章将为大家详细讲解有关JavaScript中怎么实现全文搜索,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。相关性对每一个搜索查询,我们很容易给每个文档...
    99+
    2022-10-19
  • 怎么用ajax+php实现搜索框自动填充功能
    这篇文章主要讲解了“怎么用ajax+php实现搜索框自动填充功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用ajax+php实现搜索框自动填充功能”...
    99+
    2022-10-19
  • 利用bootstrap怎么实现一个下拉框搜索功能
    本篇文章为大家展示了利用bootstrap怎么实现一个下拉框搜索功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、第一个下拉框代码<div class="btn-gro...
    99+
    2023-05-31
    bootstrap strap
  • JavaScript如何实现切换搜索引擎的导航网页搜索框
    小编给大家分享一下JavaScript如何实现切换搜索引擎的导航网页搜索框,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体代码...
    99+
    2022-10-19
  • js怎么实现百度搜索提示框
    小编给大家分享一下js怎么实现百度搜索提示框,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果如下所示话不多说,请看代码:<...
    99+
    2022-10-19
  • Flutter怎么实现自定义搜索框AppBar
    这篇文章主要讲解了“Flutter怎么实现自定义搜索框AppBar”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Flutter怎么实现自定义搜索框AppBar”吧!介绍开发中,页面头部为搜索...
    99+
    2023-06-30
  • 微信小程序怎么实现搜索输入框带搜索记录
    本篇内容主要讲解“微信小程序怎么实现搜索输入框带搜索记录”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序怎么实现搜索输入框带搜索记录”吧!  在最近的项目里有一个需求,就是需要一个带搜索...
    99+
    2023-06-26
  • 微信小程序实现搜索框功能
    本文实例为大家分享了微信小程序实现搜索框功能的具体代码,供大家参考,具体内容如下 效果: wxml文件: <view class="search_input" > ...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作