思路
- 其实不需要记住菜单的展开状态,只要每次正确的重新展开就可以
- 每个菜单项都有一个页面url,那么根据当前url就可以匹配出应该展开哪个菜单项
- js可以获得当前页面的路径
实现
<script type="text/javascript">
$(function () {
var params = window.location.pathname;
params = params.toLowerCase();
if (params != "/") {
$(".nav-sidebar li a").each(function (i) {
var obj = this;
var url = $(this).attr("href");
if (url == "" || url == "#") {
return true;
}
url = url.toLowerCase();
if (url.indexOf(params) > -1) {
$(this).parent().addClass("active open menu-open");
$(this).parent().parent().addClass("active open menu-open");
$(this).parent().parent().parent().addClass("active open menu-open");
$(this).parent().parent().parent().parent().addClass("active open menu-open");
$(this).parent().parent().parent().parent().parent().addClass("active open menu-open");
return false;
}
});
}
});
</script>
说明
- 代码里面的`nav-sidebar`是用来限制选择范围。默认用这个范围没问题。可以看情况调整。