jScrollPane如何存储滚动位置?

时间:2012-01-14 00:44:16

标签: javascript jquery jscrollpane

我正在使用JQuery插件jScrollPane。

客户询问我,当用户滚动项目列表,点击其中一项,然后在浏览器中单击或从菜单返回该页面时,滚动框是否可以处于相同位置。 :S

这意味着将插件计算的“top”css属性存储到mouseUp上的cookie中(当他们放开滑块时,存储“top”的值)然后当它们返回时,我可以检查该cookie并将其设置到该位置。

无论如何,这个想法,我甚至不知道从哪里开始。

感谢您的回复。 :)

1 个答案:

答案 0 :(得分:3)

这是我的解决方案。

滚动条的位置保存到localstorage,然后当页面再次加载时,刷新或从另一个页面返回,如果localstorage的值大于0,表示滚动条的顶部(默认,未滚动的位置) ,它滚动到那个位置。

var element = $(".scroll-pane").jScrollPane({showArrows:true});
if(element != undefined) {
  var api = element.data("jsp");
  $(function() {
    if(parseInt(localStorage.getItem("ScrollPosition")) > 0) {
      api.scrollToY(parseInt(localStorage.getItem("ScrollPosition")))
    }
    $(".scroll-pane").bind("jsp-scroll-y", function(event, scrollPositionY, isAtTop, isAtBottom) {
      localStorage.setItem("ScrollPosition", scrollPositionY)
    }).jScrollPane()
  })
}
;