2013-07-23 43 views
0

我想保存/確定滾動狀態(當前位置),因此當用戶回到上一個站點時,他可以從他離開的位置繼續工作。如何保存滾動狀態

我可以連續保存滾動位置到全局變量並在用戶回來時讀取它嗎?

回答

3

使用javascript,您可以找出滾動高度,然後將其設置爲cookie。這不是一個好方法,但它是可能的。

找到滾動高度:

$(document).ready(function(){ 
    $(window).scroll(function(){ 
     var scrolled = $(this).scrollTop(); 
     console.log(scrolled); 
    }); 
}); 

我會建議使用jQuery的cookie的插件將其設置到一個cookie或會話: http://archive.plugins.jquery.com/project/Cookie http://www.sitepoint.com/eat-those-cookies-with-jquery/

則變量添加到cookie:

$(document).ready(function(){ 
    $(window).scroll(function(){ 
     $.removeCookie("mySiteScrolled"); 
     var scrolled = $(this).scrollTop(); 
     $.cookie("mySiteScrolled", scrolled); 
     console.log(scrolled); 
    }); 
}); 

然後添加「Check for scrolled」語句

$(document).ready(function(){ 
    var scrolled = $.cookie("mySiteScrolled"); 
    if(scrolled){ 
     $(window).scrollTop(scrolled); 
    } 
    $(window).scroll(function(){ 
     $.removeCookie("mySiteScrolled"); 
     var scrolled = $(this).scrollTop(); 
     $.cookie("mySiteScrolled", scrolled); 
     console.log(scrolled); 
    }); 
}); 
+0

謝謝你的代碼...但是我已經將這段代碼包含在我的腳本中,並且包含了jquery cookie腳本,它不起作用。什麼都沒有發生,不應該你的代碼保存當前的滾動狀態,並當我回到以前的網站時恢復它 –

+0

你使用的是什麼版本的jQuery?你有沒有測試代碼的任何部分?有錯誤嗎?您是否檢查過您是否至少有一個正在製作的曲奇?你有什麼嘗試? – ntgCleaner

+0

@ user123_456希望在此標記您,以便您瞭解警報。 – ntgCleaner

0

我可能會使用jQuery來輕鬆確定scoll位置$(document).scrollTop();並使用本地存儲設置/獲取位置。