jquerymobile,动态更新页面并重置滚动位置

时间:2013-04-25 17:57:33

标签: jquery-mobile scroll reload

我正在尝试使用jquery mobile($('#testpage').page('destroy').page();)动态更新页面内容,并重置滚动位置($.mobile.silentScroll(0);)。

它工作但是几毫秒,jquery显示新内容在旧位置向下滚动。我希望在页面顶部直接滚动显示新内容。

jquery中必须有一个参数,当你调用$('#testpage').page('destroy').page();时,它会记住滚动位置,我希望重置这个参数。

也许我的方法不对,我应该为2页使用2个单独的div。

我这样做的原因是因为我希望网页中的哈希值对于2个页面是相同的,我不希望用户能够使用浏览器返回操作返回到上一页。如果我能用2个分开的div来实现这一点,那也没关系。

这是一个jsfiddle来说明:http://jsfiddle.net/EKFSy/2/

1 个答案:

答案 0 :(得分:0)

我将$.mobile.silentScroll(0);替换为$.mobile.changePage( $('#testpage') , {allowSamePageTransition:true} );并且有效。

请注意,我还尝试使用$.mobile.urlHistory.getActive().lastScroll。在我的情况下,没有必要将其设置为零(因为在同一页面上似乎已经重置滚动位置的changePage),但如果您想要更改历史记录中的滚动位置,那么这可能是一个有用的值。

http://jsfiddle.net/EKFSy/3/