我正在使用此代码在页面加载时滚动到页面底部:
$(function(){
$.mobile.silentScroll(someValue);
}
使用此代码我无法滚动到页面底部。会发生什么,它滚动到底部半秒钟,然后再次进入默认位置。 我在正文中使用listview,页脚和标题。 我已经尝试过使用pageshow,pageload事件但无法获得所需的结果......
答案 0 :(得分:1)
要理解这一点,您需要了解jQuery Mobile的工作原理。
某些功能无法与 $(function(){
一起使用,因为此点页面仅加载到DOM中,jQuery Mobile甚至没有开始对该页面执行任何操作。为了解决这个问题,jQM开发人员创建了一个名为page events的东西。
基本上 $.mobile.silentScroll
只能在正确的页面事件中使用。但即使这样,你也需要使用一个稍微延迟的settimeout才能工作。 Silent Scroll根本不是创建用于页面显示。
$(document).on('pageshow', '#index', function(){
setTimeout(function(){
$.mobile.silentScroll(1500);
},100);
});
工作示例:http://jsfiddle.net/Gajotres/2xfrM/
在您的情况下,页面会返回,因为在 $(function(){
触发期间,页面的页面高度不正确。页面高度仅在pageshow事件期间正确,但即使这样,您也需要稍微延迟。