2016-01-13 52 views
1

我的目標是保存div內的滾動位置,以便重新加載後它將加載到相同的位置。 在我的項目中,我使用this插件通過標題滾動到div內的元素。我使用這個插件目前的方法是這樣的:重新加載後保存div內的滾動位置

$("#wrapper").scrollTo($(".active>.placementWrapper>.placementName[title='" + placementName + "']")); 
    var scrollToPos = placementName; 
    localStorage.setItem("scrollToPos", scrollToPos); 

,但你可以看到,我使用元素的標題讓我需要滾動到的位置,所以當IM用鼠標例如滾動時,位置不會更新。

這是插件的代碼:

$.fn.scrollTo = function(target, options, callback){ 
    if(typeof options == 'function' && arguments.length == 2){ callback = options; options = target; } 
    var settings = $.extend({ 
    scrollTarget : target, 
    offsetTop  : 50, 
    duration  : 500, 
    easing  : 'swing' 
    }, options); 
    return this.each(function(){ 
    var scrollPane = $(this); 
    var scrollTarget = (typeof settings.scrollTarget == "number") ? settings.scrollTarget : $(settings.scrollTarget); 
    var scrollY = (typeof scrollTarget == "number") ? scrollTarget : scrollTarget.offset().top + scrollPane.scrollTop() - parseInt(settings.offsetTop); 
    scrollPane.animate({scrollTop : scrollY }, parseInt(settings.duration), settings.easing, function(){ 
     if (typeof callback == 'function') { callback.call(this); } 
    }); 
    }); 
} 

底線,任何想法我怎麼能保存#wrapper內的最後一個位置? THX

回答

0

嘗試使用僅此存儲:

<div id="test" style="height:460px;"></div> 

<script> 

localStorage.hval=(document).getElementById("test").style.height; 

</script> 

要再次獲取值,

localStorage.getItem("hval"); 

你可以用幾乎任何你want.To檢查localStorage的替代hval,去到開發工具>資源>本地存儲

相關問題