【问题标题】:Navbar remian constant for all pages in jquery mobilejquery mobile中所有页面的导航栏保持不变
【发布时间】:2012-09-02 23:12:59
【问题描述】:

我是 jquery mobile 的新手,需要一些帮助才能在我的应用程序中更进一步

我使用带有两个按钮视图的 NAVBAR,两个按钮可以正常导航并显示不同的列表视图,当我单击列表视图项时,页面正在导航到另一个 HTML 页面并显示相关数据,但问题是我无法在下一页查看导航栏...

我希望导航栏对于所有页面都保持不变,例如 android 中的选项卡组活动。 任何人都请帮助我提供好的示例和应用程序,或者向我展示一些好的链接来实现这一目标......

<body>
<div data-role="page" id="page1">
    <div data-role="content">
        <div data-role="navbar" id="nav1">
            <ul>
                <li><a href="#" data-href="dashboard" class="ui-btn-active" datafld="list">Dashboard</a></li>
                <li><a href="#" data-href="deals" datafld="list1">Deals</a></li>
            </ul>
        </div>
        <div class="ui-grid-but" id="list">
            <div class="ui-block-a">
                <a  href="#lv1" data-role="button" id="button1" >
                    <img src="task.png" alt="Tasks" /></a>
            </div>
            <div class="ui-block-b">
                <a  href="#lv2" data-role="button" id="button2">
                    <img src="reminder.png" alt="Reminders" /></a>
            </div>
          </div>
          <div class="def_content_div" id="dashboard">
            <ul data-role="listview" data-inset="true">
                <li><a href="#lv1">List View 1</a> </li>
                <li><a href="#lv2" >List View 2</a> </li>
                <li><a href="#lv3" >List View 3</a> </li>
                <li><a href="#lv4" >List View 4</a> </li>
             </ul>
            </div>
            <div class="content_div" id="deals">
                <ul data-role="listview"data-inset="true">
                    <li> <a href="#lv5">List View 5</a></li>
                    <li> <a href="#lv6">List View 6</a></li>
                    <li><a href="#lv7">List View 7</a></li>
                    <li><a href="#lv8">List View 8</a></li>
                </ul>
             </div>
         </div>

【问题讨论】:

  • 我已经发布了我的 html 代码。希望现在你知道我尝试了什么。

标签: jquery-mobile


【解决方案1】:

实现这一点的最佳方法是将导航栏放在 JQM 标头中,并为每个标头使用相同的 data-id。即

<div data-role="header" data-posistion="fixed" data-id="constantNav">
    <div data-role="navbar">
        <ul>
            <li><a href="#" data-href="dashboard" class="ui-btn-active" datafld="list">Dashboard</a></li>
            <li><a href="#" data-href="deals" datafld="list1">Deals</a></li>
        </ul>
    </div>
</div>

您必须在每个列表视图页面中包含上述代码 sn-p。这将给出一个固定的固定导航菜单的外观。

这是http://jsfiddle.net/codaniel/z5VYF/1/要求的示例

【讨论】:

  • 嗨 codaniel 感谢您的回复,但它对我不起作用
  • 请给我更多代码。您的列表视图页面是什么样的?
  • 嗨,你可以看看这个链接中的图片pocketmagic.net/wp-content/uploads/2010/01/…我想要像图片中这样的东西。我在每个标签下都有标签和不同的列表视图。当我从列表中选择一个项目时它在其他页面中显示详细信息,但选项卡不可见,只有数据可见,我希望选项卡在所有页面中都可见......希望我现在能给你一些想法
  • 我想我可以帮助您,但我很好奇的是您的代码在您引用的“下一页”中的外观。你只是在那个页面中放了一个列表视图吗?您必须在每个页面中包含标题。
  • 好吧,这就是问题所在。它必须包含在每个 JQM 页面中。
【解决方案2】:

我从http://jquerymobile.com/demos得到了解决方案

根据codaniel的回答,我们需要在每个listview页面中包含代码sn-p。

然后,我们需要将以下类添加到每个页面的“当前”导航按钮中。

class="ui-btn-active ui-state-persist"

对于第一个首页:

<div data-role="header" data-posistion="fixed" data-id="constantNav">
    <div data-role="navbar">
        <ul>
            <li><a href="#" data-href="dashboard" class="ui-btn-active ui-state-persist" datafld="list">Dashboard</a></li>
            <li><a href="#" data-href="deals" datafld="list1">Deals</a></li>
        </ul>
    </div>
</div>

还有第二页:

<div data-role="header" data-posistion="fixed" data-id="constantNav">
    <div data-role="navbar">
        <ul>
            <li><a href="#" data-href="dashboard"  datafld="list">Dashboard</a></li>
            <li><a href="#" data-href="deals" class="ui-btn-active ui-state-persist" datafld="list1">Deals</a></li>
        </ul>
    </div>
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多