jQuery Mobile:页面滚动后向下滚动
问题描述:
我使用$.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页
答
我以前遇到过同样的问题上向下滚动。你可以做的就是创建一个被调用时,有一个页面变化的事件处理程序,并有功能滚动到页面的顶部:
$.mobile.pageContainer.on("pagecontainerchange", function(event, ui) {
$(document).scrollTop(0);
});
关键的区别就在这里被执行的document
的.scrollTop()
,而不是body
。
在我的代码中,我使这个小例子更复杂一些。我记录每个页面的垂直滚动位置,将其存储在页面DOM元素上,并在用户返回页面时恢复垂直滚动位置。这样用户总是返回到他们离开的地方,而不是总是滚动到页面的顶部。