我正在使用jQuery-mobile
来显示数据列表。列表可以相当高,比如说~3000px。我在Samsung G S5
上看到的问题是当我旋转手机时,列表视图会丢失它的滚动位置并位于顶部。
我已尝试执行以下操作,但无法使其正常工作:
// This block is to handle the device rotating when viewing the list
$(window).on('scrollstop', function() {
if ($.mobile.activePage.attr('id') == 'pageBeingViewed') {
self.currentScroll = $(window).scrollTop();
}
});
$(window).on("orientationchange", function (event) {
if ($.mobile.activePage.attr('id') == 'pageBeingViewed') {
console.log('Scroll Pos:'+self.currentScroll);
$(window).scrollTop(self.currentScroll); // also tried using the jQM silent scroll method here as well. No luck.
}
});
从逻辑上讲,这应该有效。它会动态捕捉滚动位置,因此当您旋转设备时,它应该将其重新定位到原来的位置。但我不能为我的生活弄清楚为什么它不起作用。有没有人有任何想法/建议?
答案 0 :(得分:-1)
在divs
上检查firebug
并确保哪个是包含滚动条的元素。有时会发生body
,page
和ui-content
设置为100%
高度,因此滚动条最终会显示在ui-content
div中。如果是这种情况,您可以通过直接访问包含滚动条的div的scrollTop()
来解决此问题。