【发布时间】:2018-12-19 02:12:49
【问题描述】:
我正在尝试将active 类添加到我的引导程序 4 菜单中,但只有没有 sub 的顶级项目正在工作。谁能帮我解决这个问题?
对于顶级菜单sl-menu-link 应该有类active
对于顶级has-sub 级别菜单sl-menu-link 和nav-link 在它们处于活动状态时应该具有active 类。
这是我的 HTML
<div class="sl-sideleft-menu">
<a href="index.php" class="sl-menu-link">
<div class="sl-menu-item">
<i class="menu-item-icon icon ion-ios-home-outline tx-22"></i>
<span class="menu-item-label">Dashboard</span>
</div><!-- menu-item -->
</a><!-- sl-menu-link -->
<a href="#" class="sl-menu-link">
<div class="sl-menu-item">
<i class="menu-item-icon icon ion-ios-person-outline tx-20"></i>
<span class="menu-item-label">Users</span>
<i class="menu-item-arrow fa fa-angle-down"></i>
</div><!-- menu-item -->
</a><!-- sl-menu-link -->
<ul class="sl-menu-sub nav flex-column">
<li class="nav-item"><a href="add-user.php" class="nav-link">New User</a></li>
<li class="nav-item"><a href="manage-user.php" class="nav-link">Manage User</a></li>
</ul>
<a href="#" class="sl-menu-link">
<div class="sl-menu-item">
<i class="menu-item-icon ion-ios-pie-outline tx-20"></i><i class="icon "></i>
<span class="menu-item-label">Projects</span>
<i class="menu-item-arrow fa fa-angle-down"></i>
</div><!-- menu-item -->
</a><!-- sl-menu-link -->
<ul class="sl-menu-sub nav flex-column">
<li class="nav-item"><a href="chart-morris.html" class="nav-link">New Project</a></li>
<li class="nav-item"><a href="chart-flot.html" class="nav-link">Manage Project</a></li>
<li class="nav-item"><a href="chart-chartjs.html" class="nav-link">Running Projects</a></li>
<li class="nav-item"><a href="chart-rickshaw.html" class="nav-link">Ended Projects</a></li>
<li class="nav-item"><a href="chart-sparkline.html" class="nav-link">Hold Projects</a></li>
<li class="nav-item"><a href="chart-sparkline.html" class="nav-link">Project Category</a></li>
</ul>
<a href="#" class="sl-menu-link">
<div class="sl-menu-item">
<i class="menu-item-icon ion-ios-book-outline tx-20"></i>
<span class="menu-item-label">Tasks</span>
<i class="menu-item-arrow fa fa-angle-down"></i>
</div><!-- menu-item -->
</a><!-- sl-menu-link -->
<ul class="sl-menu-sub nav flex-column">
<li class="nav-item"><a href="chart-morris.html" class="nav-link">Your Task</a></li>
<li class="nav-item"><a href="chart-flot.html" class="nav-link">All Project Task</a></li>
<li class="nav-item"><a href="chart-chartjs.html" class="nav-link">Completed Task</a></li>
<li class="nav-item"><a href="chart-sparkline.html" class="nav-link">Hold Task</a></li>
</ul>
<a href="#" class="sl-menu-link">
<div class="sl-menu-item">
<i class="menu-item-icon icon ion-ios-person-outline tx-20"></i>
<span class="menu-item-label">Vendor</span>
<i class="menu-item-arrow fa fa-angle-down"></i>
</div><!-- menu-item -->
</a><!-- sl-menu-link -->
<ul class="sl-menu-sub nav flex-column">
<li class="nav-item"><a href="add-new-user.php" class="nav-link">New Vendor</a></li>
<li class="nav-item"><a href="manage-user.php" class="nav-link">Manage Vendor</a></li>
</ul>
</div>
将 jQuery 添加到我的菜单中
$(document).ready(function () {
var links = $('a.sl-menu-link');
var sublink = $('a.sl-menu-link>ul>li>a.nav-link');
var checklink = $(links).hasClass('show-sub')
$.each(links, function (key, va) {
if (va.href == document.URL) {
$(this).addClass('active');
if (checklink) {
$(this,sublink).addClass('active');
}
}
});
});
【问题讨论】:
-
你想添加活动类来点击还是什么?无法理解您的问题
-
当菜单项在 url 上打开时......它应该是页面加载而不是点击
-
你的代码有什么问题?
-
不适用于子菜单
-
您的
a.sl-menu-link是否按预期工作?
标签: jquery bootstrap-4 navbar