如何在jQuery mobile中加载页面时自动滚动页面

时间:2012-07-30 15:49:39

标签: jquery-mobile cordova

我想自动滚动到页面底部[data-role="page"]的特定div,但它不起作用。滚动条仍然保持在顶部,但我希望它在页面加载时向下滚动。如果您需要更好的解释,请告诉我。提前谢谢。

2 个答案:

答案 0 :(得分:4)

您可以绑定到pageshow事件,然后使用$.mobile.silentScroll()方法将所需元素滚动到视图中。这是一个例子:

$(document).delegate('.ui-page', 'pageshow', function () {

    //get the offset of the element
    var offset = $(this).find('[some-element]').offset().top;

    //now scroll to the element
    setTimeout(function () {
        $.mobile.silentScroll(offset);
    }, 0);
});

以下是演示:http://jsfiddle.net/JNSRn/

setTimeout允许在排队等待运行的所有其他内容实际运行之后运行滚动。

您可以将.ui-page选择器更改为ID或类,以仅在特定页面或特定页面上运行此代码,目前,当任何jQuery Mobile伪页面运行时,它将运行事件处理程序所示。

$.mobile.silentScroll()的文档:http://jquerymobile.com/demos/1.1.1/docs/api/methods.html(页面底部)

答案 1 :(得分:0)

您可以尝试创建anchor代码并点击它(您甚至不需要将其附加到DOM,例如

var a = $('<a />').attr('href', '#myParticularDiv').click();