仿淘宝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与google map api结合使用 控件,监听器
Mar 04 Javascript
js下写一个事件队列操作函数
Jul 19 Javascript
jquery下将选择的checkbox的id组成字符串的方法
Nov 28 Javascript
javascript错误的认识不用关心内存管理
Dec 15 Javascript
js截取字符串的两种方法及区别详解
Nov 05 Javascript
JavaScript获取table中某一列的值的方法
May 06 Javascript
jQuery简单实现日历的方法
May 04 Javascript
js精美的幻灯片画集特效代码分享
Aug 29 Javascript
BootStrap中Datepicker控件带中文的js文件
Aug 10 Javascript
深入学习Vue nextTick的用法及原理
Oct 08 Javascript
node.js通过url读取文件
Oct 16 Javascript
如何利用JavaScript编写一个格斗小游戏
Jan 06 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创建桌面快捷方式的实例代码
2014/02/17 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
深入分析PHP设计模式
2020/06/15 PHP
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
jquery获取radio值(单选组radio)
2014/10/16 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
python获取目录下所有文件的方法
2015/06/01 Python
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
python爬虫的工作原理
2017/03/05 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
Python过滤序列元素的方法
2020/07/31 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
运动会100米解说词
2014/01/23 职场文书
公务员更新知识培训实施方案
2014/03/31 职场文书
贷款担保书范文
2014/05/13 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
离职感谢信
2015/01/21 职场文书
2015个人半年总结范文
2015/03/09 职场文书