Jquery mobile jQuery移动页面显示获取元素位置

Jquery mobile jQuery移动页面显示获取元素位置,jquery-mobile,element,Jquery Mobile,Element,在我的jQuery移动应用程序中,我想在显示页面时将UI“滑动”到某个位置,但在pageshow事件中,当我在页面上获得要滑动到的元素的偏移对象时,y坐标始终为1 我的代码如下所示: $(document).on('pageshow', function() { var offset = $('#my-element').offset(); // offset.top is always 1 } ); 克服这个问题的最佳方法是什么?这是一个粗略的猜测,但我只知道有一种情况会发生这种

在我的jQuery移动应用程序中,我想在显示页面时将UI“滑动”到某个位置,但在
pageshow
事件中,当我在页面上获得要滑动到的元素的偏移对象时,
y
坐标始终为1

我的代码如下所示:

$(document).on('pageshow', function() {
   var offset = $('#my-element').offset();
   // offset.top is always 1
} );

克服这个问题的最佳方法是什么?

这是一个粗略的猜测,但我只知道有一种情况会发生这种情况

如果您正在搜索的元素也存在于其他页面中,则可能会发生这种情况,主要是在您当前正在搜索的元素之前的
DOM中找到它。因为该页面不可见,所以它没有高度

这应该会有所帮助,有所改变

var offset = $('#my-element').offset();
为此:

var offset = $.mobile.activePage.find('#my-element').offset();
$.mobile.activePage
是一个选择器,您可以通过它访问当前活动的页面。它将无视其他一切