我有一个包含大量JQM“页面”的HTML文件。 所以,我能够在这个文件的所有页面中创建一个很好的页眉和页脚...除了JQM在导航其中包含子列表的列表时自己创建的页眉和页脚。
当您点击Page2,然后点击Foo时,您将获得Foo子列表的JQM制造页面,其中包含Baz1,2和3.此页面缺少页眉和页脚。 有关如何将这些内容放入该页面的任何想法,而不是将其拆分为手动创建的新页面吗?
谢谢, 戴夫
以下是一个有效的示例页面:http://geology.wwu.edu/dept/testnew/prospectives/test2.php
以下是一些演示代码:
<body>
<div data-role="page" id="home">
<div data-role="header" class='geobanner'><a href="#home" data-icon="home" data-theme="b" data-direction="reverse">Home</a></div>
<div data-role="content">
<h1>Main Content - Page 1</h1>
<p>Lorem ipsum.</p>
<ul data-role="listview" data-theme="c">
<li><a href="#page2" >Page2</a></li>
<li><a href="#" >Page3</a></li>
</ul>
</div>
<div data-role="footer" data-id="foo" data-position="fixed">
<div data-role="navbar" data-theme="c">
<ul>
<li><a href="#">Ftr1</a></li>
<li><a href="#">Ftr2</a></li>
</ul>
</div>
</div>
</div>
<div data-role="page" id="page2">
<div data-role="header" class='geobanner'><a href="#home" data-icon="home" data-theme="b" data-direction="reverse">Home</a></div>
<div data-role="content">
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="f">
<li><a href="#" >Foo</a>
<ul>
<li><a href="#" >Baz1</a></li>
<li><a href="#" >Baz2</a></li>
<li><a href="#" >Baz3</a></li>
</ul></li>
<li><a href="#" >Bar</a></li>
</ul>
</div>
<div data-role="footer" data-id="foo" data-position="fixed">
<div data-role="navbar" data-theme="c">
<ul>
<li><a href="#">Ftr1</a></li>
<li><a href="#">Ftr2</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
像这样加载js:
$(document).ready(function() {
var hdhtml = $($.mobile.activePage).children('div').eq(0).clone();
var fthtml = $($.mobile.activePage).children('div').eq(2).clone();
$('div:jqmData(role="page")').live('pageinit',function() {
$('div:jqmData(role="header")').remove();
$('div:jqmData(role="footer")').remove();
$('div:jqmData(role="page")').prepend(hdhtml).append(fthtml);
});
if( $('div:jqmData(role="page")').length > 2 ){
$('div:jqmData(role="header")').remove();
$('div:jqmData(role="footer")').remove();
$('div:jqmData(role="page")').prepend(hdhtml).append(fthtml);
}
});
如果您不想将<h1>
等标题标记设置为<div data-role="header">
,请将height或margin-bottom设置为header-div。