我正在研究jquery移动单页面应用程序,所以我的所有页面都在index.php中,不同的id' s.my问题是当我尝试为所有页面制作单个标题然后添加那个头文件进入所有页面的标头的CSS不起作用。 我在index.html的第一页中使用了那个标题,但是当我从外面调用它时它工作不正常。
这是我的头文件namd as appheader.html:
<div data-role="header" data-theme="p" data-position="fixed">
<h1></h1>
<a href="#left-panel" data-icon="bars" data-iconpos="notext" data-role="button">Menu</a>
</div>
<a data-theme="d" data-corners="false" data-role="button" href="#"> <img src="images/pearl-logo.png" alt="rss" style="display: block; margin: 1.5em auto;"></a>
<div data-role="panel" id="left-panel" data-position="left" data-display="push" data-dismissible="true" data-theme="c">
<ul data-role="listview" data-theme="d" data-divider-theme="d" data-icon="false" data-global-nav="docs" class="jqm-list">
<li data-role="list-divider">LINKS</li>
<li><a href="#home">Home</a></li>
<li><a href="#20years">20 Years</a></li>
<li><a href="#courses">Courses</a></li>
<li><a href="#events">Fun @ Pearl</a></li>
<li><a href="#gallery">Gallery</a></li>
<li><a href="#noida">Noida</a></li>
<li><a href="#jaipur">Jaipur</a></li>
<li><a href="#delhi">Delhi</a></li>
<li><img src="images/pearl-logo.png"></li>
</ul>
</div>
这是jquery在我的index.html中添加此页面,其中不同页面与id&#39; s结合:
<script>
$(document).ready(function(e) {
$('[data-role=page]').one('pagebeforeshow', function (event, ui) {
$("#" + event.target.id).find("[data-role=appheader]").load("appheader.html", function(){
//$("#" + event.target.id).find("[data-role=panel]").trigger("pagecreate");
// refresh the page again
// alert('ok');
$("#" + event.target.id).trigger("create");
});
});
});
</script>
以下是我在index.html中的所有页面中调用它的方式:
<div data-role="page" id="20years" data-title="20years" data-url="20years">
<div data-role="appheader"></div>
<div data-role="content">
</div>
</div>
当在index.html中使用时,滑块工作正常,但是当它作为单独的文件调用时,它不会工作。
另一个qustion是如何让这个标题面板滑动,因为我的所有页面都有不同的id&#39; s.i只是让它在我的一个页面上有id的主页:
<script type="text/javascript">
$( document ).on( "pageinit", "#home", function() {
$( document ).on( "swipeleft swiperight", "#home", function( e ) {
// We check if there is no open panel on the page because otherwise
// a swipe to close the left panel would also open the right panel (and v.v.).
// We do this by checking the data that the framework stores on the page element (panel: open).
if ( $.mobile.activePage.jqmData( "panel" ) !== "open" ) {
if ( e.type === "swipeleft" ) {
$( "#right-panel" ).panel( "open" );
} else if ( e.type === "swiperight" ) {
$( "#left-panel" ).panel( "open" );
}
}
});
});
</script>
如何在这个jquery中调用我的另一个页面。
答案 0 :(得分:2)
尝试替换
$("#" + event.target.id).trigger("create");
与
$("#" + event.target.id).trigger("pagecreate");