0

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

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

jquery中一定有一个参数可以记住调用时的滚动位置$('#testpage').page('destroy').page();,我希望重置这个参数。

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

我这样做的原因是因为我希望 url 中的哈希对于 2 个页面是相同的,并且我不希望用户能够通过浏览器返回操作返回到上一页。如果我可以用 2 个单独的 div 来实现这一点,那也很好。

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

4

1 回答 1

0

我替换$.mobile.silentScroll(0);$.mobile.changePage( $('#testpage') , {allowSamePageTransition:true} );它并且它起作用了。

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

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

于 2013-04-25T21:33:17.327 回答