菜单激活当前页
Menu active current page
我正在使用 Bootstrap (AdminLTE),我想激活当前页面的菜单项。
问题是,我不知道该怎么做。
我确实有一些解决方案(除了在每个 php 文件中更改它之外),比如为每个 link 放置一个 IF 语句,这将是一个糟糕的解决方案(我认为)。
<ul class="sidebar-menu">
<li class="header">HOOFD MENU</li>
<li class='treeview'>
<a href='#'>
<i class='fa fa-dashboard'></i> <span>Dashboard</span>
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
<li><a href='account.php'><i class='fa fa-circle-o'></i>Account</a></li>
</ul>
</li>
</ul>
以上是菜单的一部分。
因此菜单项(在本例中为仪表板)和子菜单项都必须变为活动状态。
提前致谢!
试试这个。这是从其他 bootstrap 管理模板复制的,并针对 AdminLTE
进行了修改
<script>
$(document).ready(function() {
var url = window.location;
var element = $('ul.sidebar-menu a').filter(function() {
return this.href == url || url.href.indexOf(this.href) == 0; }).parent().addClass('active');
if (element.is('li')) {
element.addClass('active').parent().parent('li').addClass('active')
}
});
</script>
此解决方案适用于子级菜单。需要 JQuery
<script type="text/javascript">
$(document).ready(function () {
var url = window.location;
var element = $('ul.sidebar-menu a').filter(function () {
return this.href == url || url.href.indexOf(this.href) == 0;
});
$(element).parentsUntil('ul.sidebar-menu', 'li').addClass('active');
});
</script>
简单的一行:
$("ul.sidebar-menu li a[href='"+document.location.pathname+"']").parents('li').addClass('active');
因此,您应该始终检查以确保该元素存在,以免出现任何错误,并且您可以使用 jQuery 的数据属性选择器轻松定位正确的链接。
var href = window.location.pathname;
if( $(".sidebar-menu a[href='"+href+"']").length ) {
$(".sidebar-menu a[href='"+href+"']").parent('li').addClass('active');
}
如果您使用的是绝对 URL,您可能需要在 var
中从 .pathname 切换到 .href
我正在使用 Bootstrap (AdminLTE),我想激活当前页面的菜单项。 问题是,我不知道该怎么做。 我确实有一些解决方案(除了在每个 php 文件中更改它之外),比如为每个 link 放置一个 IF 语句,这将是一个糟糕的解决方案(我认为)。
<ul class="sidebar-menu">
<li class="header">HOOFD MENU</li>
<li class='treeview'>
<a href='#'>
<i class='fa fa-dashboard'></i> <span>Dashboard</span>
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
<li><a href='account.php'><i class='fa fa-circle-o'></i>Account</a></li>
</ul>
</li>
</ul>
以上是菜单的一部分。 因此菜单项(在本例中为仪表板)和子菜单项都必须变为活动状态。
提前致谢!
试试这个。这是从其他 bootstrap 管理模板复制的,并针对 AdminLTE
进行了修改 <script>
$(document).ready(function() {
var url = window.location;
var element = $('ul.sidebar-menu a').filter(function() {
return this.href == url || url.href.indexOf(this.href) == 0; }).parent().addClass('active');
if (element.is('li')) {
element.addClass('active').parent().parent('li').addClass('active')
}
});
</script>
此解决方案适用于子级菜单。需要 JQuery
<script type="text/javascript">
$(document).ready(function () {
var url = window.location;
var element = $('ul.sidebar-menu a').filter(function () {
return this.href == url || url.href.indexOf(this.href) == 0;
});
$(element).parentsUntil('ul.sidebar-menu', 'li').addClass('active');
});
</script>
简单的一行:
$("ul.sidebar-menu li a[href='"+document.location.pathname+"']").parents('li').addClass('active');
因此,您应该始终检查以确保该元素存在,以免出现任何错误,并且您可以使用 jQuery 的数据属性选择器轻松定位正确的链接。
var href = window.location.pathname;
if( $(".sidebar-menu a[href='"+href+"']").length ) {
$(".sidebar-menu a[href='"+href+"']").parent('li').addClass('active');
}
如果您使用的是绝对 URL,您可能需要在 var
中从 .pathname 切换到 .href