何时在jquery mobile中触发滚动事件

何时在jquery mobile中触发滚动事件,jquery,jquery-mobile,Jquery,Jquery Mobile,当页面加载时,我使用此代码滚动到页面底部: $(function(){ $.mobile.silentScroll(someValue); } 使用此代码,我无法滚动到页面底部。发生的情况是,它滚动到底部半秒,然后再次回到默认位置。 我在正文中使用listview、页脚和页眉。 我已经尝试过使用pageshow、pageload事件,但无法获得期望的结果…要理解这一点,您需要了解jQuery Mobile是如何工作的 有些功能无法与$(function(){)一起使用,因为此点页面仅加载到D

当页面加载时,我使用此代码滚动到页面底部:

$(function(){
 $.mobile.silentScroll(someValue);
}
使用此代码,我无法滚动到页面底部。发生的情况是,它滚动到底部半秒,然后再次回到默认位置。 我在正文中使用listview、页脚和页眉。
我已经尝试过使用pageshow、pageload事件,但无法获得期望的结果…

要理解这一点,您需要了解jQuery Mobile是如何工作的

有些功能无法与
$(function(){
)一起使用,因为此点页面仅加载到DOM中,jQuery Mobile甚至没有开始对该页面执行任何操作。为了解决此问题,jQM开发人员创建了一个名为

基本上,
$.mobile.silentScroll
只能在正确的页面事件中使用。但即使这样,您也需要使用设置超时并稍微延迟它才能工作。创建静默滚动并不是为了在页面显示中使用

$(document).on('pageshow', '#index', function(){ 
    setTimeout(function(){
        $.mobile.silentScroll(1500); 
    },100);
});
工作示例:


在您的情况下,页面正在返回,因为页面在
$(function(){
触发期间没有正确的页面高度。页面高度仅在pageshow事件期间是正确的,但即使这样,您也需要稍微延迟。

尝试
$.mobile.silentScroll($('footerID').offset().top)
即使使用此代码,我也有同样的问题。我认为这与某些事件的触发有关。嘿,谢谢你的回复帮助…但我必须将超时设置为2000,以使其正常工作。我也以微笑的方式接近,但从未想过设置超时,这是一种“jugad”。