仿淘宝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 相关文章推荐
js右键菜单效果代码
Jul 21 Javascript
Prototype Function对象 学习
Jul 12 Javascript
JS获得URL超链接的参数值实例代码
Jun 21 Javascript
教你在heroku云平台上部署Node.js应用
Jul 30 Javascript
JS实现清除指定cookies的方法
Sep 20 Javascript
node.js中的http.response.write方法使用说明
Dec 14 Javascript
举例简介AngularJS的内部语言环境
Jun 17 Javascript
js中使用使用原型(prototype)定义方法的好处详解
Jul 04 Javascript
js实现下拉框效果(select)
Mar 28 Javascript
jquery 键盘事件的使用方法详解
Sep 13 jQuery
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
Dec 06 Javascript
微信小程序获取音频时长与实时获取播放进度问题
Aug 28 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
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
php 结果集的分页实现代码
2009/03/10 PHP
PHP 彩色文字实现代码
2009/06/29 PHP
深入浅出php socket编程
2015/05/13 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
JS解析XML的实现代码
2009/11/12 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
jQuery实现用方向键控制层的上下左右移动
2013/01/13 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
js轮播图无缝滚动效果
2017/06/17 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
vue实例的选项总结
2020/06/09 Javascript
python爬虫之百度API调用方法
2017/06/11 Python
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
Python 脚本拉取 Docker 镜像问题
2019/11/10 Python
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
应届生法律顾问求职信
2013/11/19 职场文书
称象教学反思
2014/02/03 职场文书
《值日生》教学反思
2014/02/17 职场文书
积极贯彻学习两会精神总结
2014/03/17 职场文书
2016年学校招生广告语
2016/01/28 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
python中如何对多变量连续赋值
2021/06/03 Python
Python答题卡识别并给出分数的实现代码
2021/06/22 Python
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers