【发布时间】:2013-07-01 20:45:00
【问题描述】:
我想要做的是将我的导航栏 HTML 标记放在一个位置(以便于编辑)。 现在我的 index.html 正文内容如下所示:
<div data-role="page" id="SomePage">
<div data-role="header">
<h1>This is Page 1</h1>
</div>
<div data-role="navbar"></div>
</div>
并在标题中这样调用我的文件:
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/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 type="text/javascript" language="javascript" src="app.js"></script>
在我的 app.js 文件中,我尝试加载导航栏。我已经尝试了两种方法
第一个:
var NavBar = function() {
$('div[data-role="navbar"]').html('<ul>' +
'<li><a href="#SomePage" data-transition="fade" data-icon="none">By Brand</a></li>' +
'<li><a href="#AnotherPage" data-transition="fade" data-icon="none">By Flavor</a></li>' +
'<li><a href="#LastPage" data-transition="fade" data-icon="none">Zero Nicotine</a></li>' +
'</ul>');
}
$(document).ready(function() {
NavBar();
});
这会导致页面让应用程序显示我的链接,但它们就像没有列表样式的普通 ul 一样堆叠
我尝试的第二种方法是:
var NavBar = function() {
$('div:jqmData[role="navbar"]').html('<ul>' +
'<li><a href="#SomePage" data-transition="fade" data-icon="none">By Brand</a></li>' +
'<li><a href="#AnotherPage" data-transition="fade" data-icon="none">By Flavor</a></li>' +
'<li><a href="#LastPage" data-transition="fade" data-icon="none">Zero Nicotine</a></li>' +
'</ul>');
}
$(document).ready(function() {
NavBar();
});
这导致根本看不到链接。
如何创建一个函数来在一个地方加载“导航栏”并使用 jQuery Mobile 样式?
【问题讨论】:
-
答案是 `$('[data-role="page"]').live('pagebeforecreate', function()` 而不是这里概述的
$(document).ready:[link]@ 987654321@,对不起,我已登录到磨损的帐户,它不会让我再过 7 小时回答我自己的问题 -
基本上是我写给你的:)
标签: javascript jquery html css jquery-mobile