页面刷新后滚动条重新定位

来源:互联网 发布:python eval函数用法 编辑:程序博客网 时间:2024/05/17 04:54

有些时候页面超出屏幕高度,又不方便使用AJAX局部刷新时,,往往回传页面后滚动条会定位到最上面,操作不方便,以下方式实现页面回传后回到滚动条原告的偏移位置.
1.针对这个问题,asp.net的Page中有一个MaintainScrollPositionOnPostBack属性,如果在回发后应保持页滚动位置,则为 true;否则为 false。默认值为 false。 但是这是针对页面的滚动条,如果是DIV的滚动条则无效了.
2.DIV滚动条,可以仿MaintainScrollPositionOnPostBack方式,首先放置两个隐藏控件分别保存DIV滚动条的横向和纵向的偏移值,如:<asp:HiddenField ID="hidScrollX" runat="server" /><asp:HiddenField ID="hidScrollY" runat="server" />,
再使用JS保存提取值,这里使用了Jquery,
           //为DIV滚动条添加事件
            jQuery().ready(function() {
            jQuery(".div20").scrollTop(jQuery("#<%= hidScrollY.ClientID %>").val());
            jQuery(".div20").scroll(function() {
                    jQuery("#<%= hidScrollY.ClientID %>").val(jQuery(this).scrollTop());
                });
            });