【发布时间】:2011-04-06 16:41:36
【问题描述】:
我们正在尝试使用 JS 在标准 FORM 回发时保持 DIV 的滚动位置。有几种针对 ASP、PHP 等的在线解决方案……但是我们使用专有的 CGI 结构进行编码,因此这些解决方案对我们不起作用。
我在您的页面上找到了这个脚本,几年前由 Eric Pascarello 编写(见下文)。对于我们想要完成的工作,它完美工作,少了一个主要问题 - 它写入 cookie,我们需要它写入隐藏字段。
通过全面披露的过程,我是一名软件工程师,并且相当精通各种形式的脚本 - 但是,我在 JS 方面非常糟糕。我确信解决方案很简单,并且盯着我的脸,但我不确定要改变什么。
<script type="text/javascript">
window.onload = function(){
var strCook = document.cookie;
if(strCook.indexOf("!~")!=0){
var intS = strCook.indexOf("!~");
var intE = strCook.indexOf("~!");
var strPos = strCook.substring(intS+2,intE);
document.getElementById("'+divTest4+'").scrollTop = strPos;
}
}
function SetDivPosition(){
var intY = document.getElementById("'+divTest4+'").scrollTop;
document.title = intY;
document.cookie = "yPos=!~" + intY + "~!";
}
</script>
<div id="'+divTest4+'" onscroll="SetDivPosition()" style="width:150px;height:200px;overflow:auto">
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
ERIC<br/>
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
</div>
提前感谢任何可以提供帮助的人。
G.C.哈特森 萨迪恩知识产权 gch@sadien.com (615) 869-0022 x 8100
【问题讨论】:
标签: javascript html postback scroll