方法1 cookie
//页面加载时从cookie取滚动条位置信息,然后附值给滚动条
function window.onload()
{
var arr;
if(arr=document.cookie.match(/scrollTop=([^;]+)(;|$)/))
//document.documentElement.scrollTop=parseInt(arr[1]);
div_pdulist.scrollTop=parseInt(arr[1]); // div_pdulist是一个div的id;
}
//页面刷新前保存滚动条位置信息到cookie
function window.onbeforeunload(){
var scrollPos;
scrollPos=div_pdulist.scrollTop;
document.cookie="scrollTop="+scrollPos;
}
方法2(本方法还包含一个对子窗口点击”取消“才使滚动条归位的做法)
在兄弟框架中定义一个全局变量 本方法用的是 top.topFrame(第一个“top”指的是顶层框架)
步骤一:定义 var imageScoll=" ";
var flag=0;//一个来标记 如果在弹出的页面点确定,滚动条就返回到顶端,如果点返回才回到原来的位置
步骤二
//在页面刷新的时候获取flag
function window.onbeforeunload(){
top.topFrame.flag=document.getElementById("ab").value;//页面一个id为“ab”的隐藏域
}
function window.onload(){
if(top.topFrame.flag==0){
var str=top.topFrame.imageScoll;
if(str.length!=0){
var pos=str.split(",");
var posY=pos[0];
var posX=pos[1];
var obj=document.getElementById("div_pdulist");
obj.scrollTop=posY;
obj.scrollLeft=posX;
}
}else{document.body.scrollTop=0;
document.body.scrollLeft=0;
}
}
步骤三:在子窗口点击确定的js方法中加入改变父topframe窗口框架中flag的影子值<input type="hidden" id="ab" value="0">
function confirmClick(action) {
window.opener.document.getElementById("ab").value=1;
// alert(window.opener.document.getElementById("ab").value);
if (document.frm_pduNew.judgeData()) {
enableBtn(false);
if (action == "saveAndContinue") {
var curPage = document.forms["gen_pduinfo"].curPduIndex.value;
var temp = parseInt(curPage)+1;
//注页面不刷新,但要和其它页面的信息保持一致
document.forms["gen_pduinfo"].curPduIndex.value = "" + temp;
document.frm_pduNew.document.forms["gen_pduinfo"].action += "?curPduIndex=" + temp;//curPduIndex.value = "" + temp;
changeUpAndDownArray();
}
document.frm_pduNew.document.forms["gen_pduinfo"].button.value = action;
document.frm_pduNew.document.forms["gen_pduinfo"].pageTo.value = "pduInfo";
document.frm_pduNew.document.forms["gen_pduinfo"].submit();
}
}