我有一些jquery页面,每个页面都有页眉和页脚。我如何将它作为单页眉和页脚。 (即)想要在主页页眉/页脚部分加载页眉/页脚html文件。
请建议。
请在下面找到页面结构....
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Single page template</title>
<link rel="stylesheet" href="css/jquery.mobile-1.2.0.min.css" />
<script src="js/jquery-1.8.2.min.js"></script>
<script src="js/customScript.js"></script>
<script src="js/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
<div data-role="page" id="page1">
<div id="hdr">
<!--Need to include header.html-->
</div>
<div data-role="content">
<!--Content-->
</div>
<div id="ftr">
<!--Need to include footer.html-->
</div>
</div>
</body>
</html>
提前致谢....
答案 0 :(得分:3)
这是一个有效的例子:
<强>的index.html 强>
<!DOCTYPE html>
<html>
<head>
<title>jQM Complex Demo</title>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no; target-densityDpi=device-dpi"/>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://www.dragan-gaic.info/js/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script>
$(document).on('pagebeforeshow', '[data-role="page"]', function(){
$.mobile.activePage.find('[data-role="header"]').load("header.html", function(){
$(this).parent().trigger('pagecreate');
});
$.mobile.activePage.find('[data-role="footer"]').load("footer.html", function(){
$(this).parent().trigger('pagecreate');
});
});
</script>
</head>
<body>
<div data-role="page" id="index">
<div data-theme="a" data-role="header">
</div>
<div data-role="content">
</div>
<div data-theme="a" data-role="footer" data-position="fixed">
</div>
</div>
</body>
</html>
<强> header.html中强>
<h3>
Header
</h3>
<强> footer.html:强>
<h3>
Footer
</h3>
这里的技巧是在通过加载功能添加内容后触发 pagecreate (而不是创建)来设置页眉和页脚样式。< / p>
阅读此article/answer以找到
之间的差异trigger('create')
和
trigger('pagecreate').
基本上, pagecreate 会重新整理整个页面,而创建只会设置内容。
答案 1 :(得分:1)
您可以使用jQuery load():
$(document).ready(function() {
$("#hdr").load("header.html");
$("#ftr").load("footer.html");
});
答案 2 :(得分:1)
添加标题
检查是否没有标头,然后.append()
标头.before()
div data-role=content
。
$(document).on('pagebeforeshow', function () {
if ($(this).find('[data-role=header]').length == 0) {
$('[data-role=content]').before('<div data-role="header"><h1>Page header</h1></div>');
$('[data-role=page]').trigger('pagecreate');
}
});
添加页脚
检查是否没有页脚,然后.append()
页脚.after()
div data-role=content
。
$(document).on('pagebeforeshow', function () {
if ($(this).find('[data-role=footer]').length == 0) {
$('[data-role=content]').after('<div data-role="footer"><h1>Page footer</h1></div>');
$('[data-role=page]').trigger('pagecreate');
}
});
答案 3 :(得分:0)
var currentPage=$.mobile.activePage;
$('<div data-role="header" id="myheader">
<a href="" >Home</a>
<a href="" >Back</a>
</div>').prependTo(currentPage).trigger('create');
$('<div data-role="footer" id="myfooter">
<a href="">About Us</a>
</div>').appendTo(currentPage).trigger('create');