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 相关文章推荐
js鼠标悬浮出现遮罩层的方法
Jan 28 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
Aug 24 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
Sep 22 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
Nov 23 Javascript
JS中的forEach、$.each、map方法推荐
Apr 05 Javascript
EasyUI 结合JS导出Excel文件的实现方法
Nov 10 Javascript
jQuery post数据至ashx实例详解
Nov 18 Javascript
Vue监听滚动实现锚点定位(双向)示例
Nov 13 Javascript
在 Vue 中编写 SVG 图标组件的方法
Feb 24 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
Apr 17 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 Javascript
微信小程序实现简单购物车功能
Dec 30 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
PHP程序员编程注意事项
2008/04/10 PHP
PHP令牌 Token改进版
2008/07/18 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
基于PHP实现假装商品限时抢购繁忙的效果
2015/10/16 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
json 定义
2008/06/10 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
Jquery中对数组的操作代码
2011/08/12 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
编写简单的Python程序来判断文本的语种
2015/04/07 Python
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
python正则表达式 匹配反斜杠的操作方法
2020/08/07 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
python函数超时自动退出的实操方法
2020/12/28 Python
教师队伍管理制度
2014/01/14 职场文书
求职信的七个关键技巧
2014/02/05 职场文书
《难忘的泼水节》教学反思
2014/02/27 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
文案策划岗位职责
2015/02/11 职场文书
中学教代会开幕词
2016/03/04 职场文书
Python Django获取URL中的数据详解
2021/11/01 Python