仿淘宝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 相关文章推荐
通过jQuery源码学习javascript(三)
Dec 27 Javascript
js创建元素(节点)示例
Jan 02 Javascript
省市选择的简单实现(基于zepto.js)
Jun 21 Javascript
AngularJS 指令的交互详解及实例代码
Sep 14 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
Angularjs上传图片实例详解
Aug 06 Javascript
使用JSON格式提交数据到服务端的实例代码
Apr 01 Javascript
vue 1.0 结合animate.css定义动画效果
Jul 11 Javascript
使用异步controller与jQuery实现卷帘式分页
Jun 18 jQuery
vue项目中全局引入1个.scss文件的问题解决
Aug 01 Javascript
详解ECMAScript2019/ES10新属性
Dec 06 Javascript
浅析vue-router实现原理及两种模式
Feb 11 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
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
最常用的8款PHP调试工具
2014/07/06 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
PHP未登录自动跳转到登录页面
2016/12/21 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
使用express获取微信小程序二维码小记
2019/05/21 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
python实现的简单文本类游戏实例
2015/04/28 Python
Python进阶篇之字典操作总结
2016/11/16 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
python编写弹球游戏的实现代码
2018/03/12 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
爱晚亭导游词
2015/02/09 职场文书
保研专家推荐信范文
2015/03/25 职场文书
投诉信回复范文
2015/07/03 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
800字作文之大雪
2019/12/04 职场文书