我正在根据提供的模板设置一个多页 jquery 移动页面:http: //jquerymobile.com/demos/1.1.1/docs/pages/multipage-template.html
如何让页眉/页脚在所有页面上重复而不在页面内容中复制它。
是否有一个 jquery 脚本或者我必须使用某种 php 包含文件?
提前致谢!
我正在根据提供的模板设置一个多页 jquery 移动页面:http: //jquerymobile.com/demos/1.1.1/docs/pages/multipage-template.html
如何让页眉/页脚在所有页面上重复而不在页面内容中复制它。
是否有一个 jquery 脚本或者我必须使用某种 php 包含文件?
提前致谢!
您可以使用 JS (jQuery) 来制作模板,并在创建时将其附加到每个data-role="page"
元素。
//create template, notice the "{TITLE}" place-holder for dynamically adding titles
var myHeaderHTML = '<div data-role="header" data-id="my-header" data-position="fixed"><h1>{TITLE}</h1></div>';
//create delegated event handler for the "pagecreate" event for all pseudo-pages
$(document).on('pagecreate', '[data-role="page"]', function () {
//get the title of this page, if none is given then use a generic title
var title = $(this).data('title') || 'Some Generic Title';
//add the header to this pseudo-page
$(this).append(myHeaderHTML.replace('{TITLE}', title));
});
这是一个演示:http: //jsfiddle.net/vmMVj/
这将在每个页面被创建时附加一个固定的标题。我通过向元素添加data-title="Some Title"
属性来添加对传递唯一标题的支持。data-role="page"
请注意,我选择pagecreate
事件是因为它在伪页面即将初始化时发生。如果您要绑定到该pageinit
事件,那么您将为时已晚,并且必须手动初始化标题小部件。
据我所知,您必须在每个data-role="page"
容器中包含页眉和页脚。如果您不想避免为每个页面输入此内容,那么我会require_once()
在 PHP 中创建一个包含页眉或页脚的页面,并使用它来代替每次都写出页眉和页脚。
样本:
<section data-role="page">
<?php require_once("header.php"); ?>
<div data-role="content">
<p>Hello world!</p>
</div>
<?php require_once("footer.php");?>
</section>
header.php:
<header data-role="header">
<h1>Title</h1>
</header>
页脚.php:
<footer data-role="footer">
<<p>Footer content here</p>
</footer>
为什么更多的 JS ?...而不是为页眉和页脚添加两个元素(“页眉”和“页脚”标签,或具有适当类的 div,但必须使用“位置:固定;”) - 并在页面 div 的顶部和底部添加填充? ...不需要JS代码...这将提高性能...虽然很少:) ...