2014-09-30 103 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