仿淘宝JSsearch搜索下拉深度用法


Posted in Javascript onJanuary 15, 2018

我们首先给出本次关于JSsearch程序的相关源码:https://gitee.com/skyogo/JSsearch

我们下载JSsearch1.0 Community版本

下载好了之后我们再下载一个类似淘宝的购物页面

然后,我们打开这个页面,会发现是这样的

仿淘宝JSsearch搜索下拉深度用法

此时我们关掉页面,将我们的JSsearch.js拷贝一份到淘宝页面的根目录的js文件夹下面

拷贝完了之后,我们在html页面中引入它(在body最底部写)

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

然后我们在上面的第76行(input标记下面)里写上这段代码

<div id="search-recommend">
 没有搜索结果
</div>

然后我们打开css/index.css文件,在里面写上这段css样式表

#search-recommend{
  height: 40px;
  width: 580px;
  position: absolute;
  top: 110px;
  border: 1px gray solid;
  padding-left: 20px;
  box-sizing: border-box;
  padding-top: 11px;
  font-size: 15px;
  cursor: pointer;
  background: white;
}

运行一下html页面,发现搜索框下面多出了一个框

仿淘宝JSsearch搜索下拉深度用法

至此,我们的html和css代码就写完了,接下来,我们来写js代码

我们现在将页面关闭,打开开发工具,在index.html里面找到大约是2754行的<script>标签,那么我们现在就要在里面写入我们的查询代码

首先,我们写入这段代码:(重复获取输入框里面的值)

var lastValue = document.getElementById("search-in").value;
setInterval(function(){   
},10)

然后,我们在var的下面写入判断语句,判断是否输入框的值改变了

if(lastValue != document.getElementById("search-in").value){          
}

接着,我们在if里面写入:

lastValue = document.getElementById("search-in").value;

这段话,就是说重复判断,如果输入框的值改变了,那么就重新赋值

然后,我们再在下面写入:

if(lastValue==null||lastValue==""){
  document.getElementById("search-recommend").innerHTML = "没有搜索结果";
}else{
}

这段话,就是判断如果输入框现在的值为空,那么就让他显示“没有搜索结果”

接着,我们在else里面写入:

var newItemList = JSsearchByKeyWord(itemList,lastValue);
if(newItemList[0] == undefined){
   document.getElementById("search-recommend").innerHTML = "没有搜索结果";
}else{ 
}

这时,我们就调用了JSsearch的用关键词查找的方法,哦,对了,我们还没写itemList这个数组

这时把光标移到setInterval的上面一行,写上:

var itemList = ["光能表","情侣表","日韩腕表","手表放心淘","瑞士表","陶瓷表","电子表","欧米茄","钢带表","皮带表","镂空机械表","斯沃琪","天梭","运动表","卡西欧","国表","时尚表","女表","儿童表","学生表","浪琴"];

itemList是我们所有的商品合集

现在再把光标移回去,移到else里面,写上:

document.getElementById("search-recommend").innerHTML = newItemList[0];

此时,我们再打开html文件,再输入框里面输入内容,就会发现已经有联想了!

仿淘宝JSsearch搜索下拉深度用法

当然,这还只是个雏形,我们还有一个BUG需要解决,就是当你输入一个多个字符串都含有的字符后,他并不一定推荐你想的那个,这点JSsearch已经帮我们想好了,我在这里就不再写了,如果想解决这个BUG,可以参考JSsearch的说明文档自行解决!

Javascript 相关文章推荐
JavaScript 在线压缩和格式化收藏
Jan 16 Javascript
什么是JavaScript
Aug 13 Javascript
如何让div span等元素能响应键盘事件操作指南
Nov 13 Javascript
JS 获取滚动条高度示例代码
Oct 24 Javascript
JS正则表达式大全(整理详细且实用)
Nov 14 Javascript
基于javascript的JSON格式页面展示美化方法
Jul 02 Javascript
直接在JS里创建JSON数据然后遍历使用
Jul 25 Javascript
在JS数组特定索引处指定位置插入元素的技巧
Aug 24 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
Sep 24 Javascript
React Native之TextInput组件解析示例
Aug 22 Javascript
JavaScript实现短暂提示框功能
Apr 04 Javascript
JavaScript实现世界各地时间显示
Sep 07 Javascript
vue2.0 父组件给子组件传递数据的方法
Jan 15 #Javascript
深入理解requireJS-实现一个简单的模块加载器
Jan 15 #Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
Jan 15 #Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
Jan 15 #Javascript
js实现一个简单的MVVM框架示例
Jan 15 #Javascript
详解angularjs 学习之 scope作用域
Jan 15 #Javascript
高性能的javascript之加载顺序与执行原理篇
Jan 14 #Javascript
You might like
用session做客户验证时的注意事项
2006/10/09 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
2014/11/22 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
js实现图片上传预览原理分析
2017/07/13 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
Django model select的多种用法详解
2019/07/16 Python
如何基于python实现脚本加密
2019/12/28 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
网页中的电话号码如何实现一键直呼效果_附示例
2016/03/15 HTML / CSS
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
最新大学生自我评价
2013/09/24 职场文书
大学生水文观测实习自我鉴定
2013/09/29 职场文书
大学生的应聘自我评价
2013/12/13 职场文书
单位创先争优活动方案
2014/01/26 职场文书
试用期转正鉴定评语
2014/01/27 职场文书
益达广告词
2014/03/14 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
我的长征观后感
2015/06/09 职场文书
Node实现搜索框进行模糊查询
2021/06/28 Javascript