比如文章管理系统的文章列表页,在每个文章标题旁边一般都有“编辑”和“删除”,假如我们翻到第三页,点击“删除”后,希望还是返回第三页,还不是第一页,这是比较好的,也是常用的。但这里所提的更上升了一级,不仅返回操作前所在的页,还定位到操作前滚动条所在的位置,不会再去拖动滚动条再往下找。
在文章列表页,加入如下代码:
<script type="text/javascript" language="javascript">
<!--
function SetScroll()
{
tranForm.windowScrollTop.value = document.body.scrollTop;
}
function ScrollWindow(y)
{
if (y > 0)
{
window.scrollTo(0, y);
}
}
window.onscroll = SetScroll;
setTimeout("ScrollWindow(<%=y%>)", 200);
//-->
</script>
当滚动条滚动时,将其所在的位置记录到tranForm.windowScrollTop中,tranForm是FORM,windowsScrollTop是HIDDEN。当处理页处理完工作时,将windowScrollTop值取出来再传递给该列表页,列表页Request这个值,并将其赋给变量y。ScrollWindow()函数滚动滚动条就实现了想要的效果。