zoukankan      html  css  js  c++  java
  • JS刷新页面后滚动条的位置不变

    有时候,在网页中点击了页面中的按钮或是刷新了页面后,页面滚动条又 会回到顶部,想看后面的记录就又要拖动滚动条,或者要按翻页键,非常不方便,想在提交页面或者在页面刷新的时候仍然保持滚动条的位置不变,最好的办法就是 在JS中用cookie记录下当前滚动条的位置,然后刷新时读取cookie就可以实现这个功能了。
    代码如下:
    <script type="text/javascript">
                function  Trim(strValue)    
                {    
                        return   strValue.replace(/^s*|s*$/g,"");    
                }
                    
                function SetCookie(sName,sValue)    
                {    
                       document.cookie = sName + "=" + escape(sValue);    
               }  
              
               function GetCookie(sName)    
               {    
                     var aCookie = document.cookie.split(";");    
                   for(var i=0; i < aCookie.length; i++)    
                   {    
                         var aCrumb = aCookie[i].split("=");    
                       if(sName == Trim(aCrumb[0]))    
                       {    
                           return unescape(aCrumb[1]);    
                       }    
                      }    
        
                     return null;    
                 }
                    
               function scrollback()    
               {    
                     if(GetCookie("scroll")!=null){document.body.scrollTop=GetCookie("scroll")}    
               }    
         </script>
    然后在html页面中设置<body id=body   onscroll=SetCookie("scroll",body.scrollTop);   onload="scrollback();">就可以在刷新或提交后滚动条的位置保持不变了。

    上面的是通用的解决方法,在.net中还可以用<pages maintainScrollPositionOnPostBack="true">这个配置,更容易。

  • 相关阅读:
    BF3,MW3,CF,高端?亲民
    关于#ifdef __cplusplus extern
    lua源码阅读顺序
    (ZZ)如何实现游戏主循环(Game Loop)的详细解析
    D3D学习总结基础篇(二)从古墓丽影的画面设置了解基础概念
    比较两个json是否相等
    IPAD点滴 WebIM
    Remoting与Font对象 WebIM
    使用android隐藏api实现亮度调节
    symbian的HTTP引擎中对302、301事件的处理
  • 原文地址:https://www.cnblogs.com/kennyliu/p/3373324.html
Copyright © 2011-2022 走看看