使用JavaScript恢复滚动事件不起作用

时间:2012-03-20 15:56:15

标签: javascript dom

我正在尝试在页面刷新/重新加载后恢复滚动事件滚动条位置。这是我的代码,但我无法使其工作。在JSFiddle上尝试但没有运气。请帮忙!下面的JavaScript代码。

注意:我有一个隐藏的<input>元素,其ID为滚动,而<textarea>的ID为 textAreaInput

    function saveScroll()
    {
      some code
    }

    function restoreScroll()
    {
      some code
    }

    window.onunload = saveScroll;
    window.onload = restoreScroll;

1 个答案:

答案 0 :(得分:1)

因此,在生成页面时实际上并未设置#scrolled值,因为它在saveScroll中设置的值永远不会到达服务器。请记住,重新加载页面时,将丢弃先前加载的所有DOM数据。

我想你可以尝试在document.cookie中设置这个值,但是你需要检查一下这是否有效。另一种选择是在目标环境中使用window.sessionStorage时使用{{1}}。

这是一个fiddle供你玩。滚动textarea并刷新页面。您可以在firebug或devtools控制台中看到调试输出。