jQueryMobile - 滚动到onLoad上的位置

时间:2014-11-04 19:05:38

标签: javascript jquery jquery-mobile scroll

在jQueryMobile中,在页面加载时,我想滚动到给定的位置。我知道如何在经典的jQuery中做到这一点,但在jQueryMobile中,页面加载时会有一个自动滚动顶部。

我试着这样做:

$( document ).ready(function() {
    $.mobile.silentScroll(1000);
});

这不起作用。我的页面被阻止在页面顶部。

如果我点击onclick="$.mobile.silentScroll(1000);"的链接,那就完美了!

我只想在页面加载上滚动到yPosition :)!

======= EDIT ============

在White Raven和Omar的建议之后,我试图这样做:

    $( document ).delegate("#pagePkmn", "pageinit", function() {
        $.mobile.silentScroll(1000);
    });

或者这个:

    $(document).one("pagecontainershow", function () {
        $.mobile.silentScroll(1000);
    });

但仍然没有效果......

感谢您的关注。

2 个答案:

答案 0 :(得分:1)

在页面显示后触发使用pagecontainershow,JQM执行默认滚动到页面顶部。

$(document).one("pagecontainershow", function () {
   /* scroll */
});

答案 1 :(得分:1)

使用$(document).ready()是一个坏主意:

http://view.jquerymobile.com/1.3.1/dist/demos/faq/dom-ready-not-working.html

建议使用 pageinit

===编辑===

你可以随时使用贫民区:

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