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操作时间(年-月-日 时-分-秒 星期几)
Jun 20 Javascript
JS实现跟随鼠标闪烁转动色块的方法
Feb 26 Javascript
浅谈JavaScript的全局变量与局部变量
Jun 10 Javascript
js获取form表单所有数据的简单方法
Aug 18 Javascript
Jquery组件easyUi实现表单验证示例
Aug 23 Javascript
微信小程序 loading 详解及实例代码
Nov 09 Javascript
require、backbone等重构手机图片查看器
Nov 17 Javascript
JavaScript实现左侧菜单效果
Dec 14 Javascript
jquery 获取索引值在一定范围的列表方法
Jan 25 jQuery
Vue在 Nuxt.js 中重定向 404 页面的方法
Apr 23 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
May 03 Javascript
JavaScript中reduce()的用法
May 11 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
分享下php5类中三种数据类型的区别
2015/01/26 PHP
php去除字符串中空字符的常用方法小结
2015/03/17 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
javascript的push使用指南
2014/12/05 Javascript
浅析JS运动
2015/12/28 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
js实现点赞效果
2020/03/16 Javascript
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
Python 中的lambda函数介绍
2018/10/10 Python
Python实现分段线性插值
2018/12/17 Python
django实现后台显示媒体文件
2020/04/07 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
大专学生推荐信范文
2013/11/19 职场文书
出国考察邀请函
2014/01/21 职场文书
办公室主任职责范本
2014/03/07 职场文书
基督教婚礼主持词
2014/03/14 职场文书
党课知识竞赛主持词
2014/04/01 职场文书
社区义诊通知
2015/04/24 职场文书
孝女彩金观后感
2015/06/10 职场文书
边城读书笔记
2015/06/29 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
Sql Server 行数据的某列值想作为字段列显示的方法
2022/04/20 SQL Server
MySQL sql模式设置引起的问题
2022/05/15 MySQL