如何使用Tiles、Bootstrap和jsp将菜单和子菜单组合成一个汉堡
How to combine a menu and submenu into one Hamburger with Tiles, Bootstrap and jsp
我正在进行一个项目,该项目使用Tiles
、Struts2
和Bootstrap
以及我们的jsp
页面。我们有一个基础瓦片文件tiles.xml
,其中包含以下代码。
<definition name="baseLayout" template="/WEB-INF/pages/layout.jsp">
<put-attribute name="title" value="Regulatory Action Tracking" />
<put-attribute name="header" value="/WEB-INF/pages/header.jsp" />
<put-attribute name="navigation" value="/WEB-INF/pages/navigation/mainNav.jsp" />
<put-attribute name='subnav' value='/WEB-INF/pages/navigation/navEmpty.jsp' />
<put-attribute name="content" value="" />
<put-attribute name="footer" value="/WEB-INF/pages/footer.jsp" />
</definition>
此代码用于使用mainNav.jsp
中包含的以下代码将主菜单放置在每页上。
<div id="navigate">
<button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target="#navbar-main">
<span class="sr-only">Mobile Menu Button</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<nav id="menu" role="navigation">
<div class="container">
<div class="row">
<div class="navbar-collapse collapse navbar-responsive-collapse" id="navbar-main" style="height: 1px;">
<ul class="nav navbar-nav yamm">
<li><a href="/rat/home.action">Home</a></li>
<li><a href="/rat/rule/ruleSummary.action">Rules</a></li>
<li><a href="/rat/fiveYearReview/fiveYearSummary.action">5 Year Review</a></li>
<li><a href="/rat/logout.action" onclick="window.close();">Logout</a></li>
</ul>
</div>
</div>
</div>
我的页面通过使用下面显示的tiles-admin.xml
和adminNav.jsp
文件设置sub-v属性来添加一个子菜单。
<definition name="employee" extends="baseLayout">
<put-attribute name="title" value="Regulatory Action Tracking, Employee page" />
<put-attribute name='subnav' value='/WEB-INF/pages/navigation/adminNav.jsp' />
<put-attribute name="content" value="/WEB-INF/pages/admin/employeeMaint.jsp" />
</definition>
<nav id="menu" role="navigation">
<section id="subnav" >
<div class="rowNav">
<div class="navbar-collapse collapse navbar-responsive-collapse" id="navbar-main" style="height: 1px;">
<ul class="nav navbar-nav yamm">
<li><a href="/rat/admin/refQuestion.action">Review Admin</a></li>
<li><a href="/rat/admin/employee.action">Employee Admin</a></li>
</ul>
</div>
</div>
</section>
菜单和子菜单与桌面大小的屏幕配合良好,但当它显示在移动大小的屏幕上时,Bootstrap
只将主菜单放在"汉堡包"菜单中。有没有办法将子菜单项相应地包含在汉堡中?我用jQuery
和javascript
标记了它,因为我想我可能必须使用其中一个来修复它。任何帮助都将不胜感激。谢谢
我找到了一种使用jQuery
的方法。我不知道这是否是最好的方式。我把下面的代码放在页面的顶部。
<script src="/rat/javascript/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
if ($(window).width() < 768) {
$(".main-menu").append($(".move"));
} else {
$(".sub-menu").append($(".move"));
}
});
$(window).resize(function () {
if ($(window).width() < 768) {
$(".main-menu").append($(".move"));
} else {
$(".sub-menu").append($(".move"));
}
});
</script>
然后,我在主菜单中添加了一个main-menu
类。
<ul class="nav navbar-nav yamm main-menu">
最后,我在子菜单中添加了一个sub-menu
类,在子菜单列表中的每个元素中添加了move
类。
<ul class="nav navbar-nav yamm sub-menu">
<DNRTags:AccessRoles roleList="System Administrator">
<li class="move"><a href="/rat/admin/refQuestion.action">Review Admin</a></li>
<li class="move"><a href="/rat/admin/employee.action">Employee Admin</a></li>
</DNRTags:AccessRoles>
</ul>
相关文章:
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 尝试创建一个具有z-index的堆叠菜单'使用HTML5/CSS3/JS
- 使用Jquery创建一个具有单击和悬停功能的菜单
- jQuery(“ul.sf菜单”).superfish不是一个函数
- 如何激活下拉菜单:在一个元素上单击768px宽度下方,在另一个元素上将鼠标悬停在768px上方
- 正在读取<p: 选择一个菜单/>在onchange回调中
- 在javascript中动态添加一个选择下拉菜单
- Asp.net 引导下拉菜单 - 选择一个项目
- 处理一个项目,想要添加以下菜单栏,并尽量减少向下滑动
- 下一个下拉菜单不能具有已在另一个下拉菜单中使用的值
- Bootstrap下拉菜单中的复选框允许多个复选框而不是一个
- 单击“下一个”和“上一个”时,如何从导航菜单中添加和删除类
- 使用jquery克隆一个选择菜单
- 如何创建根据另一个下拉菜单中的答案显示的下拉菜单
- 如何使用引导程序显示另一个导航栏而不是下拉菜单
- 禁用数据自动关闭下拉列表基金会只需在一个菜单中
- Jquery下拉菜单位于幻灯片上方的一个显示位置
- 如何更改此按钮/菜单列表,以便一次只能看到一个菜单
- 多个选择菜单一个数据源