JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)


Posted in Javascript onMarch 27, 2013

当页面需要显示的内容较多时,我们很多人采用分页的方法解决。

而有的时候,分页的效果却又是非常令人厌恶的。滚动条无疑是一种简单而又高效的一种方式。而这里,处于对用户体验的考虑,我使用Jquery实现了一种类似“滚动停靠”的效果。这样当我们向下滚动内容的时候,搜索框会“悬挂(停靠)”在窗口顶端。

这样做的好处是,当用户需要重新筛选内容的时候,不必再次向上滚动,随时可以输入条件进行搜索。

以下是我实现这个效果的思路
首先,设计一个隐藏的搜索框。这个隐藏的搜索框的样式、事件和已经显示出来的搜索框是一样的。
然后设置隐藏搜索框的位置“absolute”。
第三,使用Jquery判断,如果滚动条的滚动距离使得原来显示的搜索框不可见时,显示固定在顶部的隐藏搜索框。

以下是一些这个效果的一些代码:
浮动搜索框HTML代码:(显示的搜索框和这个是一样的,只不过类不同。)

<div id ="flowsearchdiv"> 
<table class="flowsearch"> 
<tr> 
<td class="conditionname">条件一:</td> 
<td class="condition"> 
<asp:DropDownList ID="dropFlowCondition1" CssClass="drop" runat="server"> 
</asp:DropDownList> 
</td> 
<td class="conditionname">条件二:</td> 
<td class="condition"> 
<asp:DropDownList ID="droFlowCondition2" CssClass="drop" runat="server"> 
</asp:DropDownList> 
</td> 
<td class="conditionname">条件三:</td> 
<td class="condition"> 
<asp:DropDownList ID="dropFlowCondition3" CssClass="drop" runat="server"> 
</asp:DropDownList> 
</td> 
<td class="conditionname"> 
<asp:Button ID="flowbtnsearch" CssClass="btn" runat="server" Text="查询" /> 
</td> 
</tr> 
</table> 
</div>

浮动搜索框页面css:(显示的搜索框和这个样式要一样,只不过不要设置位置固定)
/*下拉框*/ 
.drop 
{ 
width: 175px; 
} 
/*浮动搜索框中的表格*/ 
#flowsearchdiv table 
{ 
background-color: #484343; 
color: White; 
border-top: 2px solid White; 
} 
/*浮动搜索框中*/ 
#flowsearchdiv 
{ 
display:none; 
position:absolute; 
left:217px; 
}

Jquery代码:
//实现窗口滚动,搜索框不滚动 
$(function () { 
$(window).scroll(function () { 
var top = $(this).scrollTop(); 
var flowSearch = $("#flowsearchdiv"); 
if (top - 36 < 0) { 
//浮动搜索框隐藏,淡入效果 
flowSearch.css("display", "none"); 
} else { 
flowSearch.css("display", "block"); 
top = top + 40; 
flowSearch.css("top", top); 
} 
}); });

到这里基本上我们的效果就出来了。当我们向下滚动滚动条时,如果原来的搜索框超出页面可视范围,隐藏搜索框显示。从用户的角度看,就是搜索框停在了页面顶部,这样用户的体验就不言而喻啦。
效果图:
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
Javascript 相关文章推荐
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
Feb 27 Javascript
JavaScript中使用Substring删除字符串最后一个字符
Nov 03 Javascript
js四舍五入数学函数round使用实例
May 09 Javascript
玩转JavaScript OOP - 类的实现详解
Jun 08 Javascript
微信小程序 前端源码逻辑和工作流详解
Oct 08 Javascript
jQuery动态添加与删除tr行实例代码
Oct 18 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
vue父组件中获取子组件中的数据(实例讲解)
Sep 27 Javascript
利用JS实现scroll自定义滚动效果详解
Oct 17 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 Javascript
Javascript三种字符串连接方式及性能比较
May 28 Javascript
Ant Design的Table组件去除
Oct 24 Javascript
早该知道的7个JavaScript技巧
Mar 27 #Javascript
JavaScript中的style.display属性操作
Mar 27 #Javascript
jquery ajax提交整个表单元素的快捷办法
Mar 27 #Javascript
jQuery渐变发光导航菜单的实例代码
Mar 27 #Javascript
鼠标放在图片上显示大图的JS代码
Mar 26 #Javascript
javascript数组去重3种方法的性能测试与比较
Mar 26 #Javascript
两种常用的javascript数组去重方法思路及代码
Mar 26 #Javascript
You might like
松下Panasonic RF-B65电路分析
2021/03/02 无线电
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
jquery 上下滚动广告
2009/06/17 Javascript
两个JavaScript jsFiddle JSBin在线调试器
2010/03/14 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
javascript 初学教程及五子棋小程序的简单实现
2017/07/04 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
JavaScript实现横版菜单栏
2020/03/17 Javascript
pandas通过字典生成dataframe的方法步骤
2019/07/23 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
python多进程使用函数封装实例
2020/05/02 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
html5 touch事件实现触屏页面上下滑动(一)
2016/03/10 HTML / CSS
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
大学毕业感言100字
2014/02/03 职场文书
八年级语文教学反思
2014/02/11 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
学校隐患排查制度
2015/08/05 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL