保持滚动条位置
2011-08-14 23:10
176 查看
为了做到这个功能,我们需要做两件事情,第一,滚动条发生改变的时候记录滚动条位置。把它保存在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>
相关文章推荐
- isPostBack后保持页面滚动条的位置
- Asp.net 在刷新或提交页面后保持滚动条的位置
- 滚动条上下左右滚动,div始终保持在窗口的固定位置。
- 页面回调以后如果保持滚动条在回调之前的位置
- datagridview保持滚动条位置
- [转]用一个JS代码实现页面刷新后保持页面滚动条的位置
- 在CallBack之后保持滚动条的位置
- div浮层,滚动条移动,保持位置不变的4种方法
- Asp.net 在刷新或提交页面后保持滚动条的位置
- 关于滚动条保持原位置(DIV和IE)
- 保持页面中滚动条的位置,使得页面提交后滚动条还是在原来的位置
- 保持页面中滚动条的位置,使得页面提交后滚动条还是在原来的位置
- 刷新后保持页面滚动条位置javascript
- Asp.net数据回传之后页面保持滚动条位置
- 一个使用方便的用于跳转后保持滚动条位置的JS
- 提交页面后保持现在滚动条的位置(启用智能导航) (转载)
- ASP.Net2.0小技巧 保持滚动条的位置 焦点移动到某个控件 $符号轻松的使用FindControl
- jsp页面刷新时,保持滚动条位置不变
- 刷新后保持页面滚动条位置C#&VB
- Postback 之后保持浏览器滚动条的位置