2014-09-30 149 views
0


我有一个网页是完全div的巨大长度,所以每当我通过行动刷新我的网页或手动文件加载,我需要滚动我的窗口或同一位置文件到相同或以前的位置,但我希望由浏览器自动完成。
我在网上搜索了它,发现没有任何帮助,但我知道解决方案与其他任何lib包含在一起。滚动到重新加载和负载

我有高度的页面更超过了与一些div和选择框,每当我在页面中选择任何事情窗口的高度,它刷新我的网页和发送加载新的文档这里我想搬到我先前选择选择框放div,以便我可以避免在每个选项上的手动滚动

+0

任何机会,你可以设置一个jsfiddle,所以我们可以得到一个布局的想法? – JanR 2014-09-30 04:03:29

+0

你可以看到我的计数我是新来的这个计算器和小提琴 – gani 2014-09-30 04:06:47

+0

http://jsfiddle.net/,这是一个网站,可以让你复制一些CSS,HTML和JavaScript英寸它会帮助你看看你的问题。一旦你点击保存,只需在这里发布网址。 – JanR 2014-09-30 04:07:50

回答

2

第一i-加入位置以localStorage的

localStorage.setItem("scrollTop", document.body.scrollTop); 

然后让从它的onload相同位置(重装)

window.onload = function() { 
var scroll = parseInt(localStorage.getItem("scrollTop")); 
//parseInt(localStorage.scrollTop); 
if (!isNaN(scroll)) 
document.body.scrollTop = scroll; 

}

+0

为什么您将'document.body.scrollTop'强制转换为'string',然后再将其重新转换为'int'?你可以在不进行任何转换的情况下存储'document.body.scrollTop',然后当你再次获取它时,你不需要使用'parseInt'。 – 2014-09-30 05:41:56

+1

实际上它看起来像'localStorage.setItem()'将'int's转换为一个'string'(无论如何在Chrome中)。 – 2014-09-30 05:45:12

2

从我所了解的情况来看,页面的刷新不是自动的,完全取决于用户。因此,我想到的一个解决方案是使用内置于浏览器中的local storage,并定期更新该存储与您的pos变量。

示例代码段(直接取文件 - 纯JavaScript):

// Store 
localStorage.setItem("lastname", "Smith"); 
// Retrieve 
document.getElementById("result").innerHTML = localStorage.getItem("lastname"); 

这样,你可以检索上次保存的滚动位置并做要紧。 Jquery也有围绕这个HTML5 webstorage构建的local storage API。我已经发布了文档,它应该让你开始朝正确的方向发展。

+0

您认为的方式非常棒....我很感谢您 – gani 2014-09-30 04:24:50

+0

我希望它有所帮助。如果它适合您,请将答案标记为已接受,以便其他用户在这个问题上陷入困境也可以从解决方案中受益。更好的是,用适合你的相关代码片段更新问题。 – 2014-09-30 04:31:25