jquery-mobile:silentScroll无法从initPage运行

时间:2012-01-19 10:38:13

标签: jquery-mobile

我想在页面完全加载时静默滚动窗口,所以我在initPage监听器中调用silentScroll。但是,它不起作用,不滚动。

$('#mainPage').live( 'pageinit', initPage);

function initPage() {
    $.mobile.fixedToolbars.setTouchToggleEnabled(false);
    $.mobile.silentScroll(800);
    ....

我能让它工作的唯一方法是通过setTimeout调用它,但为什么呢?执行pageinit时页面应该就绪,参考http://jquerymobile.com/demos/1.0/docs/api/events.html上的jqm文档。

有了这个,自动滚动工作,但它很难看:

setTimeout(function(){$.mobile.silentScroll(8000);}, 1000);  // scroll after 1 sec

在Firebug / Chrome开发工具中执行$.mobile.silentScroll(8000);也可以正常工作,而不是在initPage中。当我在initPage中显示js警报时,它正在显示。但滚动只是没有正确执行。也许是一个jqm bug?

1 个答案:

答案 0 :(得分:-1)

这里对这个问题的详细解答: https://github.com/jquery/jquery-mobile/issues/3461