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 获取后台的字段 改变 checkbox的被选中的状态 代码
Jun 05 Javascript
Javasipt:操作radio标签详解
Dec 30 Javascript
js自定义鼠标右键的实现原理及源码
Jun 23 Javascript
Javascript编程中几种继承方式比较分析
Nov 28 Javascript
详解jQuery Mobile自定义标签
Jan 06 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
Feb 06 Javascript
js处理层级数据结构的方法小结
Jan 17 Javascript
JS之if语句对接事件动作逻辑(详解)
Jun 28 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
Sep 28 Javascript
JavaScript简单实现合并两个Json对象的方法示例
Oct 16 Javascript
vue.js的简单自动求和计算实例
Nov 08 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
Nov 09 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中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
php命令行写shell实例详解
2018/07/19 PHP
php7连接MySQL实现简易查询程序的方法
2020/10/13 PHP
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
JS运动特效之链式运动分析
2018/01/24 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
vue3.0实现插件封装
2020/12/14 Vue.js
从零学Python之hello world
2014/05/21 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
pandas分组聚合详解
2020/04/10 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
纽约海:Sea New York
2018/11/04 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
购买原创艺术品:Zatista
2019/11/09 全球购物
音乐专业应届生教师求职信
2013/11/04 职场文书
物业管理专业个人的自我评价
2013/11/19 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
作风转变心得体会
2014/09/02 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
政风行风评议整改方案
2014/09/15 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js