jquery mobile 1.3.1填充顶部在初始页面加载时计算错误

jquery mobile 1.3.1 padding-top incorrectly calculated on initial page load

本文关键字:加载 计算 错误 mobile 填充 顶部 jquery      更新时间:2023-09-26

我已经在谷歌上搜索了好几天了,尽管有很多类似的线程,但我仍然无法找到答案。我已经将问题简化为:

<div data-role="header" data-id="myHeader" data-theme="none" data-position="fixed">
        <img src="images/my1200x150logo.jpg"/>
</div><!-- /header -->
<div data-role="content">
    <p>Content line 1</p>
    <p>Content line 2</p>
    <p>Content line 3</p>
    <p>Content line 4</p>
    <p>Content line 5</p>
</div><!-- /content -->
<div data-role="footer" data-id="myFooter" data-theme="c" data-position="fixed"> 
  <h4>My footer</h4>
</div><!-- /footer -->

我正试图通过调整徽标图像的大小来适应页面来实现RWD效果。除了初始页面加载之外,这一切都能很好地工作,初始页面加载在jqmupdatePagePadding例程中将padding-top设置为零,导致内容在图像下向上流动。

我知道js运行数小时后就会加载图像,这是一个常见的问题。任何事件(如页面大小调整)都会导致填充正确更新。

因此,我的问题是,在我的图像加载完成后,如何强制JQM调用updatePagePadding

Jquery pageshow事件?链接到API

基本上,jquery会在页面加载后触发一个事件,并且元素已经准备好了,您可以等待该事件,然后调用您的函数,例如:

$("#pageID").on("pageshow",function(){
   updatePagePadding();
});

此外,请检查此项以获得关于将哪些事件绑定到每个jquery移动页面、页面小部件API 的完整参考