ecshop搜索出现相关商品的效果滑动下拉效果
ecshop搜索栏效果如下

所需要的样式我们可以复制到style.css里:
- /*搜索滑动效果*/
- .Menu {
- position:absolute;
- top:30px;
- left:7px;
- width:150px;
- height:auto;
- z-index:1;
- background:#FFF;
- border:1px solid #000;
- display:none;
- }
- .Menu2 {
- position: absolute;
- left:0;
- top:0;
- width:100%;
- height:auto;
- overflow:hidden;
- z-index:1;
- }
- .Menu2 ul{margin:0;padding:0}
- .Menu2 ul li{width:100%;height:25px;line-height:25px;text-indent:15px;
- border-bottom:1px dashed #ccc;color:#666;cursor:pointer;background:#FFF;
- change:expression(
- this.onmouseover=function(){
- this.style.background="#F2F5EF";
- },
- this.onmouseout=function(){
- this.style.background="";
- }
- )
- }
- input{width:200px}
- .form{width:200px;height:auto;}
- .form div{position:relative;top:0;left:0;margin-bottom:5px}
复制代码
以下代码需要加到输入框普遍 比如page_header.lbi
- <script type="text/javascript">
- function showAndHide(obj,types,text){
- var Layer=window.document.getElementById(obj);
- switch(types){
- case "show":
- if(text!='')
- {
- Layer.style.display="block";
- Ajax.call('search_div.php', 'act=search&text=' + text, changesumResp**e, 'GET', 'JSON');
- }
- break;
- case "hide":
- Layer.style.display="none";
- }
- }
- function getValue(obj,str){
- var input=window.document.getElementById(obj);
- input.value=str;
- }
- function changesumResp**e(res)
- {
- var a='';
- for (var i = 0; i < res.content.length; i++)
- {
- a += "<li onmousedown=getValue('keyword','" + res.content[i].goods_name + "')>" + res.content[i].goods_name + "</li>";
- }
- // alert(a);
- document.getElementById('show_stock').innerHTML = a;
- }
- </script>
复制代码
我们输入框的代码
- <input name="keywords" onkeyup="showAndHide('List1','show',this.value);" onblur="showAndHide('List1','hide');" type="text" id="keyword" value="{$search_keywords|escape}" style=" border:0; margin-left:15px;margin-top:5px; width:130px; height:15px;"/>
- <div class="Menu" id="List1">
- <div class="Menu2">
- <ul style="padding:0px; margin:0px;" id="show_stock">
- </ul>
- </div>
- </div>
复制代码
ajax请求php的代码
search_div.php
- <?php
- define('IN_ECS', true);
- require(dirname(__FILE__) . '/includes/init.php');
- require(dirname(__FILE__) . '/admin/includes/lib_main.php');
- if($_REQUEST['act'] == 'search'){
- $keywords = json_str_iconv(trim($_GET['text']));
- $sql = "SELECT goods_name,goods_id FROM " . $GLOBALS['ecs']->table('goods')." where goods_name like '%$keywords%'";
- $brand_array = $GLOBALS['db']->getall($sql);
- foreach($brand_array as $ids =>$value)
- {
- $brand_array[$ids]['goods_name'] = sub_str_xaphp($brand_array[$ids]['goods_name'],5);
- }
- make_json_result($brand_array);
- }
- function sub_str_xaphp($str, $length = 0, $append = true)
- {
- $str = trim($str);
- $strlength = strlen($str);
- if ($length == 0 || $length >= $strlength)
- {
- return $str;
- }
- elseif ($length < 0)
- {
- $length = $strlength + $length;
- if ($length < 0)
- {
- $length = $strlength;
- }
- }
- if (function_exists('mb_substr'))
- {
- $newstr = mb_substr($str, 0, $length, EC_CHARSET);
- }
- elseif (function_exists('iconv_substr'))
- {
- $newstr = iconv_substr($str, 0, $length, EC_CHARSET);
- }
- else
- {
- //$newstr = trim_right(substr($str, 0, $length));
- $newstr = substr($str, 0, $length);
- }
- if ($append && $str != $newstr)
- {
- $newstr .= '';
- }
- return $newstr;
- }
- ?>
复制代码
在商品少的情况下 我们之间查询 如果多了,最模板建议修改程序
ecshop搜索出现相关商品的效果滑动下拉效果的更多相关文章
- jQuery手写几个常见的滑动下拉菜单 分分秒秒学习JS
一般的企业网站再我们再实际工作中,有些特效,用jQuery来做,显得极其简单,除非一些大的公司,需要封装自己的类. 今天,我们讲解jQuery入门知识,来写几个简单jQuery滑动下拉菜单.感受一下j ...
- jQuery实现折叠下拉效果
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Android 聊天表情输入、表情翻页带效果、下拉刷新聊天记录
经过一个星期的折腾,最终做完了这个Android 聊天表情输入.表情翻页带效果.下拉刷新聊天记录.这仅仅是一个单独聊天表情的输入,以及聊天的效果实现.由于我没有写server,所以没有两方聊天的效果. ...
- Easy UI combobox实现类似 Select2的效果,下拉带搜索框
一直在开发一个新系统,其中用Easy UI作为前端框架,少不了用 combobox做为一个 下拉控件,它支持 可编辑 模糊本地数据过滤,也可支持 不可编辑 下拉 选择的功能: $('#ID' ).co ...
- MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框
1.MVC身份验证. 有两种方式.一个是传统的所有控制器继承自定义Control,然后再里面用MVC的过滤器拦截.所以每次网站的后台被访问时.就会先走入拦截器.进行前端和后端的验证 一个是利用(MVC ...
- Android抽屉(SlidingDrawer --类似android通知栏下拉效果)
Android抽屉(SlidingDrawer)的实现发 - 红黑联盟http://www.2cto.com/kf/201301/182507.html 可动态布局的Android抽屉之基础http: ...
- 第六章 使用 Bootstrap Typeahead 组件(百度下拉效果)(续)
官方:http://twitter.github.io/typeahead.js/ 示例:http://twitter.github.io/typeahead.js/examples/(本文展示:Op ...
- html、css实现导航栏5种常用下拉效果
实现的效果:鼠标移入按钮时按钮中的内容就会出现,分别展示不同的出现效果.效果难点:不使用JavaScript,那这个效果的难点就是在于:hover伪类的掌控,以及考验对html的结构掌握. 1. ht ...
- iosselect:一个js picker项目,在H5中实现IOS的下拉效果
iosselect是在webapp下的一个picker组件,可以轻松实现各类选择器效果.比如地区选择 时间选择 日期选择等. 下面是一个地址选择器demo截图,可以访问:http://zhoushen ...
随机推荐
- RFS一些基本概念
1. Project.Directory.TestSuit.TestCase.Resource的区别? Project:项目名称 Directory:对项目进行分层 TestSuit:测试 ...
- git merge
1. git 解决冲突 ***** <<<<<<< HEAD *** *** ======= **** **** ** >>>>> ...
- 阿里与腾讯“智慧城市”的O2O谁更强?(分享)
成都亿合科技:本月22日蚂蚁金服联合新浪微博宣布“智慧城市”战略,用户可通过新浪微博.手机淘宝.支付宝三大客户端完成医疗.市政缴费以及相关信息查询工作,首批入驻城市有上海.太原.深圳.青岛等12个城市 ...
- java万物皆对象
我们以Dom对象的形式 可以CRUD xml文件或xml字串(经流把xml文件读出转成字串) 我们以JsonObject对象的形式 可以CRUD json字串 还有正则表达式.ORM都是.
- 转 SSIS处理导入数据时, 存在的更新, 不存在的插入
SSIS处理导入数据时, 存在的更新, 不存在的插入 分类: DTS/SSIS2006-09-10 12:43 18185人阅读 评论(22) 收藏 举报 ssissql servermicrosof ...
- Sql Server服务远程过程调用失败解决
Sql Server服务远程过程调用失败解决 问题: 今天SQL数据库登录不上了,然后想启动Sql实例,却发现如下问题(配置环境:win7旗舰版x64,SqlServer2008R2, ...
- 夺命雷公狗---微信开发58----微网站之jquery_mobile之控件介绍
我们上一节课里面介绍了基本的jqm是如何用的了,那么这一节课我们就开始玩玩他的控件 1...布局网格 <!DOCTYPE html> <html> <head> & ...
- 二项分布 多项分布 伽马函数 Beta分布
http://blog.csdn.net/shuimu12345678/article/details/30773929 0-1分布: 在一次试验中,要么为0要么为1的分布,叫0-1分布. 二项分布: ...
- 使用 nano 的时候提示找不到 libncursesw.so.5 这个共享库
由于拿nano来练习pacman这个包管理系统,也就是卸了装,装了卸.但是后来当我想用 nano 编辑文件的时候,系统提示标题上说的这错误. 不知道做了什么,难道是误删了什么东西...后来几番搜索,用 ...
- Report launcher to run SSRS report subscriptions on demand
http://www.mssqltips.com/sqlservertip/3078/report-launcher-to-run-ssrs-report-subscriptions-on-deman ...