[英]Sammy.js cache and scroll position when going back in history
我不知道是否有人仍在使用Sammy.js,但我發現它非常適合我對輕量級路由和模板庫的需求。 如果有人有其他想法,請告訴我。
我的問題是,當我有一個長頁面並向下滾動時,單擊此頁面上的鏈接然后返回,重新加載整個頁面(在Sammy中,調用GET路由)並跳轉到頁面頂部。
我的問題是:有沒有辦法讓Sammy緩存頁面並在回到歷史記錄時保持滾動位置?
提前致謝。
您可以使用localStorage作為將url-scrolltop存儲為一對的替代方法。 這樣瀏覽器會記住指定網址的srolltop位置。
var scroltop,url;
$(window).scroll(function() {
scroltop = $(this).scrollTop();
url = window.location.href;
clearTimeout($.data(this, 'scrollTimer'));
$.data(this, 'scrollTimer', setTimeout(function() {
localStorage.setItem(url,scroltop);
}, 250));
});
if(localStorage.getItem(window.location.href)) {
url = window.location.href;
scroltop = localStorage.getItem(url);
$(window).scrollTop(scroltop);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.