我正在尝试使用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/
答案 0 :(得分:0)
我将$.mobile.silentScroll(0);
替换为$.mobile.changePage( $('#testpage') , {allowSamePageTransition:true} );
并且有效。
请注意,我还尝试使用$.mobile.urlHistory.getActive().lastScroll
。在我的情况下,没有必要将其设置为零(因为在同一页面上似乎已经重置滚动位置的changePage),但如果您想要更改历史记录中的滚动位置,那么这可能是一个有用的值。