Javascript 防止在页面更改时关闭子菜单
我为“打开”和“关闭”子菜单编写了此函数,它工作正常,但我有以下问题: 如果用户单击子菜单项并打开页面(此菜单位于母版页中),则子菜单不会关闭。我该怎么做Javascript 防止在页面更改时关闭子菜单,javascript,jquery,html,css,asp.net-mvc,Javascript,Jquery,Html,Css,Asp.net Mvc,我为“打开”和“关闭”子菜单编写了此函数,它工作正常,但我有以下问题: 如果用户单击子菜单项并打开页面(此菜单位于母版页中),则子菜单不会关闭。我该怎么做 $(文档).ready(函数(){ $('.has sub>a')。单击(函数(e){ e、 预防默认值(); var子菜单=$(this.next(); 如果(子菜单为(“:可见”)){ 子菜单slideUp(); $(this).最近的(“li”).removeClass(“活动”); } 否则{ 子菜单.slideDown(); $(
$(文档).ready(函数(){
$('.has sub>a')。单击(函数(e){
e、 预防默认值();
var子菜单=$(this.next();
如果(子菜单为(“:可见”)){
子菜单slideUp();
$(this).最近的(“li”).removeClass(“活动”);
}
否则{
子菜单.slideDown();
$(此).lii.addClass(“活动”);
}
});
});
///我的html菜单在我的母版页中(我使用mvc4 razor)
-
我有点困惑:你要么想“阻止关闭”,要么想让它关闭:“子菜单不关闭。我该怎么做?”。哪一个?子菜单下的项目将在页面更改后关闭。我希望我添加fiddler链接它更清晰如果您使用的是绝对链接,您可以在#cssmemu
中的每个a
标记之间循环,查找document.URL==a.attributes.href
的位置,然后应用活动的
类到最近的有子元素。。否则,如果您使用的是相对链接,您可以从document.URL
中找到替换基域进行比较
$(document).ready(function () {
$('.has-sub > a').click(function (e) {
e.preventDefault();
var submenu = $(this).next();
if (submenu.is(":visible")) {
submenu.slideUp();
$(this).closest("li").removeClass("active");
}
else {
submenu.slideDown();
$(this).closest("li").addClass("active");
}
});
});
///my html menu it is in my masterpage(i use mvc4 razor)
<div id='cssmenu'>
<ul>
<li class="has-sub"><a href='#'><span>submenu</span></a>
<ul class="subbg">
<li><a href="#"><span>aaaa</span></a></li>
<li><a href="#"><span>bbbb</span></a></li>
<li><a href="#"><span>cccc</span></a></li>
<li><a href="#"><span>ddddd</span></a></li>
</ul>
</li>
<li><a href="#"><span>wwww</span></a></li>
</ul>
</div>