持久jquery移动导航栏

持久jquery移动导航栏,jquery,mobile,cordova,persistence,navbar,Jquery,Mobile,Cordova,Persistence,Navbar,我正在尝试让持久的Jquery移动导航栏页脚工作。我希望它是用javascript动态绘制的(这是一个PhoneGap应用程序),而不是用PHP模板化页脚 以下内容改编自: 但是,jquery样式没有应用于第2页和第3页。就好像这些页面没有调用$(“#navbar”).navbar(),或者调用得太早 有人能帮我解决我可能出的问题吗?或者让我看一个代码示例,它有一个动态持久的导航栏,最好是带有活动按钮持久性的 <!DOCTYPE html> <html> <h

我正在尝试让持久的Jquery移动导航栏页脚工作。我希望它是用javascript动态绘制的(这是一个PhoneGap应用程序),而不是用PHP模板化页脚

以下内容改编自:

但是,jquery样式没有应用于第2页和第3页。就好像这些页面没有调用$(“#navbar”).navbar(),或者调用得太早

有人能帮我解决我可能出的问题吗?或者让我看一个代码示例,它有一个动态持久的导航栏,最好是带有活动按钮持久性的

<!DOCTYPE html> 
<html> 
<head> 
  <meta name=viewport content="user-scalable=no,width=device-width" />
  <link rel=stylesheet href=jquery.mobile.css />
  <script src=lib/jquery.js></script>
  <script src=lib/jquery.mobile.js></script>
</head> 

<body> 

<div data-role=page id=page1>
  <div data-role=header>
    <h1>1</h1>
  </div>

  <div data-role=content>
   <p> Window content </p>
  </div>
</div>



<div data-role=page id=page2>
  <div data-role=header>
    <h1>2</h1>
  </div>

  <div data-role=content>
   <p> Window content </p>
  </div>
</div>


<div data-role=page id=page3>
  <div data-role=header>
    <h1>3</h1>
  </div>

  <div data-role=content>
   <p> Window content </p>
  </div>
</div>


</body>
</html>


<script>

var html = "";
html += "<div data-role=footer data-position=fixed>";
html +=   "<h1> Footer part </h1>";

html +=   "<div id=navbar>";
html +=     "<ul>";
html +=       "<li><a href=#page1 data-icon=refresh>Refresh</a></li>";
html +=       "<li><a href=#page2 data-icon=info>Help</a></li>";
html +=       "<li><a href=#page3 data-icon=delete>Close</a></li>";
html +=     "</ul>";
html +=   "</div>";
html += "</div>";




$("#page1").append (html);
$("#page2").append (html);
$("#page3").append (html);
$("#navbar").navbar();


</script>



<script>

$("li").bind ("click", function (event)
{

  alert ($(this).find ("a").text ());

});

</script>

1.
窗口内容

2. 窗口内容

3. 窗口内容

var html=“”; html+=“”; html+=“页脚部分”; html+=“”; html+=“
    ”; html+=“
  • ”; html+=“
  • ”; html+=“
  • ”; html+=“
”; html+=“”; html+=“”; $(“#第1页”).append(html); $(“#第2页”).append(html); $(“#第3页”).append(html); $(“#navbar”).navbar(); $(“li”).bind(“单击”),函数(事件) { 警报($(this.find(“a”).text()); });
在你的代码中,
navbar()
在我看来很奇怪。因为我从未在jquery mobile官方文档中见过这些方法。还有一件事,您从未向listview div元素提到过
data role=“navbar”

您可以使用noramal jquery
.append()
方法动态附加jquery导航栏

我将给出jquery中动态导航栏的示例代码。它会解决你的问题

$navbar="";
$navbar+="<div data-role='navbar'>";
$navbar+="<ul><li><a href='a.html' class='ui-btn-active ui-state-persist'>One</a></li>";
/*This class="ui-btn-active ui-state-persist" is to highlight the first tab*/
$navbar+="<ul><li><a href='b.html'>Two</a></li>";
$navbar+="<li><a href='c.html'>Three</a></li></ul></div>";
$("#page1").append ($navbar); /*First append to page 1 of the footer*/
$("#page1").trigger("pagecreate"); /*To refresh the page and load the dynamic append navbar*/
$navbar=”“;
$navbar+=“”;
$navbar+=“
  • ”; /*此类=“ui btn活动ui状态保持”将突出显示第一个选项卡*/ $navbar+=“
    • ”; $navbar+=“
    ”; $(“#第1页”)。追加($navbar)/*第一个附加到页脚的第1页*/ $(“#page1”)。触发器(“pagecreate”)/*刷新页面并加载动态附加导航栏*/

在第2页和第3页的按钮单击中执行相同的过程,更改
class='ui-btn-active ui state persist'
重复页面

您将添加三个具有相同id的元素,然后基于id创建导航栏,该id将仅运行第一个元素。在创建html内容时尝试
class='navbar'
,然后使用
$('.navbar').navbar()