急!!js,侧边栏二级菜单点击后页面跳转后状态不变,且选中项高亮显示!
//侧边栏jsp代码,二级菜单名是从数据库中动态读取到的
<div id ="leftMenu" class="page-sidebar navbar-collapse collapse">
<ul class="page-sidebar-menu">
<li data-role="dropdown">
<a href="javascript:;">
<span class="title">应用<span>
<span class="arrow"><span>
</a>
<ul id ="showOpen" class="submenu">
<c:forEach items="${appDetailList}" var="appDetail">
<c:choose>
<c:when test="${appDetail.appDesc.status ==0 or appDetail.appDesc.status ==1}">
<li>
<a href="javascript:;">
<span class="title">${appDetail.appDesc.name}<span>
<span class="arrow"><span>
</a>
</li>
<li><a target="_self" href="app/index.do?appId=${appDetail.appDesc.appId}>
<span class="title">${appDetail.appDesc.name}</span>
<span class="arrow"><span>
</a>
</li>
</c:when>
</c:choose>
</c:forEach>
</ul>
</li>
</ul>
</div>
我尝试过在js里用cookie保存点击状态设置高亮,并成功了,侧边栏点击二级菜单页面刷新后不会再收缩,且选中项为高亮。
但是我现在出现了一个新的问题,当我点击侧边栏二级菜单任意一项后,再点击顶部导航栏任意链接,页面跳转后侧边栏二级菜单依旧高亮,可是我现在已经换了新的页面了,这时我想要侧边栏恢复默认状态,而不是cookie内保存的状态。
而且不仅仅是导航栏,页面内容部分有侧边栏二级菜单的链接,若是我从页面点击链接进去,这时侧边栏二级菜单是不会有相应的样式变化的。
而我现在想要的结果是,无论是点击侧边栏二级菜单还是点击页面内链接,侧边栏都要有相应的样式变化,即展开并高亮。
我感觉这种情况下用cookie不太合适,我查了下有说在链接尾部追加参数,然后点击链接后按参数展开侧边栏并赋予样式,但本人新人一个,刚学没多久,不知道咋写,望各位大神指教啊,最好能有代码~~