2013-04-25 43 views
0

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

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

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

也许我有错误的方法,我应该为2页使用2个分隔的div。

我这样做的原因是因为我希望url中的哈希值与2个页面相同,并且我不希望用户能够使用浏览器后退操作回到上一页。如果我可以用2个独立的div来实现这一点,那也可以。

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

+0

这会有帮助吗? http://jsfiddle.net/Palestinian/zsNDV/ – Omar 2013-04-25 19:15:41

回答

0

我换成$.mobile.silentScroll(0);$.mobile.changePage($('#testpage') , {allowSamePageTransition:true});和它的工作。

请注意,我也试过玩$.mobile.urlHistory.getActive().lastScroll。在我的情况下没有必要将它设置为零(因为看起来同一页上的changePage已经重置了滚动位置),但如果要更改历史记录中的滚动位置,这可能是一个有用的值。

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