我在应用程序中使用phonegap,这是listview jquery中的页面显示项目之一。如果我有 50 个项目并且用户滚动并按下项目,则会显示详细页面项目。我的问题,我们是否可以保存上一个最后位置滚动,所以当用户按下后退按钮时,他们不会再看到第一项。
谢谢
如果您使用的是 JQuery Mobile,则可以在隐藏页面时存储当前滚动位置(在其中添加了检查,因为您可能希望某些页面保留滚动位置,而在其他时候您想让它重置) :
$("#myListPage").bind('pagebeforehide', function (event, data) {
if (data.nextPage[0].id === "myItemDetailsPage") {
// Store the scroll position, in case we want to go back
myPage.scrollPosition = $("#myListPage-myList").scrollTop();
}
});
然后当页面显示时:
$("#myListPage").bind('pageshow', function () {
$("#myListPage-myList").scrollTop(myPage.scrollPosition);
});
虽然我应该说有时我不需要这样做,而且我经常不得不做相反的事情——调用scrollTop(0)
强制页面返回顶部。