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 相关文章推荐
IE下window.onresize 多次调用与死循环bug处理方法介绍
Nov 12 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
Nov 02 Javascript
基于javascript实现右下角浮动广告效果
Jan 08 Javascript
js console.log打印对像与数组用法详解
Jan 21 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
利用jQuery解析获取JSON数据
Apr 08 jQuery
iscroll实现下拉刷新功能
Jul 18 Javascript
解析vue中的$mount
Dec 21 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
May 06 Javascript
分享一个vue项目“脚手架”项目的实现步骤
May 26 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
Dec 10 Javascript
vue实现数字滚动效果
Jun 29 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 和 MySQL 基础教程(二)
2006/10/09 PHP
php中in_array函数用法分析
2014/11/15 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
JavaScript中的排序算法代码
2011/02/22 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
django最快程序开发流程详解
2019/07/19 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
pytorch 共享参数的示例
2019/08/17 Python
jupyter notebook实现显示行号
2020/04/13 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
社团2014年植树节活动总结
2014/03/11 职场文书
积极向上的团队口号
2014/06/06 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
安全施工责任书
2014/08/25 职场文书
质量月活动总结
2014/08/26 职场文书
学习优秀党务工作者先进事迹材料思想报告
2014/09/17 职场文书
工作收入证明模板
2014/10/10 职场文书
赞助商致辞
2015/07/30 职场文书
《窃读记》教学反思
2016/02/18 职场文书
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript
解析MySQL索引的作用
2022/03/03 MySQL
KVM基础命令详解
2022/04/30 Servers