2017-04-06 77 views
1

我使用$.mobile.changePage()方法在我的jQuery Mobile站点中从第1页导航到第2页。第1页和第2页均大于屏幕,尽管第1页比第1页长得多。当用户点击一个项目时,我通过ajax加载第2页的内容,将该内容附加到主体,然后使用changePage()转换到第2页。jQuery Mobile:页面滚动后向下滚动

如果用户向下滚动页面1上的列表,然后转换到页面2,则窗口在页面2上向下滚动一个可变量。我会补充说,页面2上滚动的距离似乎与距离有关用户以前在第1页滚动。

我试过使用$.mobile.silentScroll(0);$('body').scrollTop('0');但我没有取得任何成功。

我该如何去防止更改页方法,从第2页

回答

1

我以前遇到过同样的问题上向下滚动。你可以做的就是创建一个被调用时,有一个页面变化的事件处理程序,并有功能滚动到页面的顶部:

$.mobile.pageContainer.on("pagecontainerchange", function(event, ui) { 
    $(document).scrollTop(0); 
}); 

关键的区别就在这里被执行的document.scrollTop(),而不是body

在我的代码中,我使这个小例子更复杂一些。我记录每个页面的垂直滚动位置,将其存储在页面DOM元素上,并在用户返回页面时恢复垂直滚动位置。这样用户总是返回到他们离开的地方,而不是总是滚动到页面的顶部。