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

 更新时间:2018年01月15日 10:42:30   投稿:laozhang  
本篇文章通过仿照淘宝搜索关键字后下拉相关产品搜索样子的制作,深度分析了JSsearch的用法,一起跟着小编学习下吧。

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

我们下载JSsearch1.0 Community版本

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

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

此时我们关掉页面,将我们的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页面,发现搜索框下面多出了一个框

至此,我们的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文件,再输入框里面输入内容,就会发现已经有联想了!

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

相关文章

  • AJAX 仿EXCEL表格功能

    AJAX 仿EXCEL表格功能

    仿Excel表格演示代码,非常不错。
    2009-06-06
  • JavaScript实现更换头像功能

    JavaScript实现更换头像功能

    这篇文章主要为大家详细介绍了JavaScript实现更换头像功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • JavaScript轮播停留效果的实现思路

    JavaScript轮播停留效果的实现思路

    轮播停留与无线滚动十分类似,都是利用属性及变量控制移动实现轮播。下面通过本文给大家分享JavaScript轮播停留效果的实现思路,感兴趣的朋友一起看看吧
    2018-05-05
  • 纯JavaScript实现的完美渐变弹出层效果代码

    纯JavaScript实现的完美渐变弹出层效果代码

    对于Web项目开发尤其是前台UI的设计而言,用户体验至关重要,因为它直接关系到项目的成败,简洁,平滑,优雅的设计永远能够受到用户的青睐。
    2010-04-04
  • js实现下拉菜单效果

    js实现下拉菜单效果

    本文主要介绍了js实现下拉菜单效果的实例,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • js对象数组根据对象属性删除对象

    js对象数组根据对象属性删除对象

    这篇文章主要介绍了js对象数组根据对象属性删除对象,需要的朋友可以参考下
    2023-07-07
  • javascript取消文本选定的实现代码

    javascript取消文本选定的实现代码

    最近在做拖动布局. 发现有文本选定的时候, 进行拖动很不好看.
    2010-11-11
  • JS检测移动端横竖屏的代码

    JS检测移动端横竖屏的代码

    这篇文章主要介绍了JS检测移动端横竖屏的代码,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • JS实现淘宝支付宝网站的控制台菜单效果

    JS实现淘宝支付宝网站的控制台菜单效果

    这篇文章主要介绍了JS实现淘宝支付宝网站的控制台菜单效果,涉及JavaScript基于时间函数及数学运算控制页面动画弹出菜单效果的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • JavaScript引用类型Function实例详解

    JavaScript引用类型Function实例详解

    这篇文章主要介绍了JavaScript引用类型Function,结合实例形式详细分析了javascript引用类型Function概念、定义、原理、相关使用技巧与操作注意事项,需要的朋友可以参考下
    2018-08-08

最新评论