保持滚动条位置

为了做到这个功能,我们需要做两件事情,第一,滚动条发生改变的时候记录滚动条位置。把它保存在hidden <input> field 第二,当网页回发时,hidden <input> field 的值会发送到服务器端,服务器告诉客户端重新设置滚动条位置。首先来看看javascript是怎么记录滚动条位置的。
<script language = "javascript">
<!--
   function sstchur_SmartScroller_GetCoords()  //记录滚动条位置
   {
      var scrollX, scrollY; 保存滚动条的水平位置和垂直 位置
      
      if (document.all)   //IE浏览器
      {
         if (!document.documentElement.scrollLeft)
            scrollX = document.body.scrollLeft;
         else
            scrollX = document.documentElement.scrollLeft;
               
         if (!document.documentElement.scrollTop)
            scrollY = document.body.scrollTop;
         else
            scrollY = document.documentElement.scrollTop;
      }   
      else  //其他浏览器
      {
         scrollX = window.pageXOffset;
         scrollY = window.pageYOffset;
      }
   
      document.forms[formID].xCoordHolder.value = scrollX;
      document.forms[formID].yCoordHolder.value = scrollY;
   }
    
   function sstchur_SmartScroller_Scroll()  //重新设置滚动条
   {
      var x = document.forms[formID].xCoordHolder.value;
      var y = document.formsformID].yCoordHolder.value;
      window.scrollTo(x, y);
   }
   
   window.onload = sstchur_SmartScroller_Scroll;
   window.onscroll = sstchur_SmartScroller_GetCoords;
   window.onkeypress = sstchur_SmartScroller_GetCoords;
   window.onclick = sstchur_SmartScroller_GetCoords;
// -->
<script>


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值