js实现搜索提示框效果


Posted in Javascript onSeptember 05, 2020

本文实例为大家分享了js实现搜索提示框效果的具体代码,供大家参考,具体内容如下

首先写静态页面

<div class="container">
  <!-- 搜索框 -->
  <input type="text" id="search" />
  <!-- 动态提示的数据框liebia -->
  <div id="alert">
    <ul></ul>
  </div>
</div>

CSS样式

* {
  margin: 0;
  padding: 0;
}

html,
body {
  background: darkgray;
}

.container {
  position: absolute;
  left: 50%;
  top: 50px;
  transform: translateX(-50%);
}

#search {
  width: 300px;
  height: 50px;
  padding-left: 10px;
  border-radius: 5px;
  border: none;
  outline: none;
}

#alert {
  width: 312px;
  position: relative;
  left: -1px;
  display: none; /* 将ul列表隐藏 */
}

#alert > ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#alert > ul > li {
  border: 0.5px solid #000;
  height: 40px;
  line-height: 40px;
  padding-left: 10px;
  border-radius: 5px;
  background: #fff;
}

#alert > ul:last-child {
  border-bottom: 1px solid #000;
}

JS代码

var $search = $("#search");
var $alert = $("#alert");
var $alertUl = $("#alert>ul");

// 清空列表的方法
function clearUl() {
  $alertUl.empty();
}

$search
  .bind("input", function () {
  // 清空列表
  clearUl();

  // 获取到用户所输入的内容
  var value = $(this).val();
  // console.log(value);

  // 使用getJSON方法获取json数据
  $.getJSON("data/server4.json", function (data) {
    // console.log(data);
    // 获取到json数据中的name值
    $.each(data, function (input, obj) {
      // console.log(obj);
      var name = obj.name;
      // console.log(name);

      if (name.indexOf(value) >= 0) {
        // 表示输入的内容在name中存在
        var valueArr = obj.value;
        // console.log(valueArr);
        $.each(valueArr, function (input, text) {
          // console.log(text);
          // 将数据添加到HTML页面
          $alertUl.append(`<li>${text}</li>`);
        });
      }
    });
  });

  // 将ul列表显示出来
  $alert.css("display", "block");
})
  .bind("blur", function () {
  $alert.css("display", "none");
});

实现效果

js实现搜索提示框效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
线路分流自动跳转代码;希望对大家有用!
Dec 02 Javascript
jQuery 重复加载错误以及修复方法
Dec 16 Javascript
JS实现自适应高度表单文本框的方法
Feb 25 Javascript
创建自己的jquery表格插件
Nov 25 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
Dec 10 Javascript
JavaScript基础重点(必看)
Jul 09 Javascript
Vue.js鼠标悬浮更换图片功能
May 17 Javascript
微信小程序自定义弹窗wcPop插件
Nov 19 Javascript
redux.js详解及基本使用
May 24 Javascript
vue集成chart.js的实现方法
Aug 20 Javascript
vue项目引入ts步骤(小结)
Oct 31 Javascript
vue input标签通用指令校验的实现
Nov 05 Javascript
jQuery实现简单三级联动效果
Sep 05 #jQuery
javascript canvas实现简易时钟例子
Sep 05 #Javascript
vue中使用vue-pdf的方法详解
Sep 05 #Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
Sep 05 #Javascript
vue 将多个过滤器封装到一个文件中的代码详解
Sep 05 #Javascript
js实现可爱的气泡特效
Sep 05 #Javascript
js实现点击按钮随机生成背景颜色
Sep 05 #Javascript
You might like
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
PHP Opcache安装和配置方法介绍
2015/05/28 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
python模块之StringIO使用示例
2015/04/08 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
python对csv文件追加写入列的方法
2019/08/01 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
python爬虫 批量下载zabbix文档代码实例
2019/08/21 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
领导班子四风表现材料
2014/08/23 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
政风行风整改报告
2014/11/06 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
Vue Element plus使用方法梳理
2022/12/24 Vue.js