网页滚动条定位(vs2005)

 前几天需要做个滚动条定位功能 网上查些资料总结如下

基本原理就是使用cookie保存滚动条的位置 刷新后读取cookie

前台代码

<body id="mybody" οnscrοll="SetCookie('scroll',getObject('mybody').scrollTop)" οnclick="scrollback()" > <SCRIPT LANGUAGE="JavaScript" src="../JScript.js" type="text/jscript"> </SCRIPT>

JScript.js

 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.all("mybody").scrollTop=GetCookie("scroll")}
      
    }
   
    function getObject(id)
{
 if(document.getElementById)
 {
  return document.getElementById(id);
 }
 else if(document.all)
 {
  return document.all[id];
 }
 else if(document.layers)
 {
  return document.layers[id];
 }
}
function xmlhttp()
{
 var A=null;
 try
 {
  A=new ActiveXObject("Msxml2.XMLHTTP");
 }
 catch(e)
 {
  try
  {
   A=new ActiveXObject("Microsoft.XMLHTTP");
  }
  catch(oc)
  {
   if (typeof XMLHttpRequest != "undefined" );
   {
    A=new XMLHttpRequest();
   }
  }
 }
 return A;
}

单只是这些客户端代码还够 在中的page_Load中还需加入 this.SmartNavigation = true;但在VS2005中SmartNavigation 属性以被MaintainScrollPositionOnPostBack 取代
使用SmartNavigation

两种方式个有优缺点 SmartNavigation ,JScript.js文件和this.SmartNavigation = true都需要而去页面不存在刷新问题

VS2005中若使用 Page.MaintainScrollPositionOnPostBack = true; 则只需这一句可以定位了 但当数据较多时刷新问题很严重

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值