Javascript jQuery手风琴在子页面上时保持菜单在页面之间打开
我有以下导航,使用下面的jquery accordion代码。目前,每个Javascript jQuery手风琴在子页面上时保持菜单在页面之间打开,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有以下导航,使用下面的jquery accordion代码。目前,每个#顶级导航项都设置为打开和关闭以显示子项。我想修改代码,这样当用户登陆到它的任何子节点时,保持打开状态 供您参考的屏幕截图: 非常感谢您的帮助。提前谢谢 <ul class="nav"> <li id="top-level" class="has-drop"><a class="opener" href="/index.php/visitor-information/"><
#顶级导航项都设置为打开和关闭
以显示子项。我想修改代码,这样当用户登陆到它的任何子节点时,
保持打开状态
供您参考的屏幕截图:
非常感谢您的帮助。提前谢谢
<ul class="nav">
<li id="top-level" class="has-drop"><a class="opener" href="/index.php/visitor-information/"><em>Visitor Information</em></a>
<div class="slide">
<ul>
<li><a href="/index.php/visitor-information/visitor-information/">Visitor Information</a></li>
<li><a href="/index.php/visitor-information/about-our town/">About our town</a></li>
<li><a href="/index.php/visitor-information/gallery/">Gallery</a></li>
<li><a href="/index.php/visitor-information/im-hungry/">I'm Hungry</a></li>
</ul>
</div>
</li>
<li id="top-level" class="has-drop"><a class="opener" href="/index.php/membership/"><em>Membership</em></a>
<div class="slide">
<ul>
<li><a href="/index.php/membership/membership/">Membership</a></li>
<li><a href="/index.php/membership/advocacy/">Advocacy</a></li>
<li><a href="/index.php/membership/ambassadors/">Ambassadors</a></li>
<li><a href="/index.php/membership/board-of-directors/">Board Of Directors</a></li>
</ul>
</div>
</li>
<li id="top-level" class=""><a class="opener" href="/index.php/upcoming-events/"><em>Upcoming Events</em></a></li>
<li id="top-level" class="has-drop"><a class="opener" href="/index.php/online-store/"><em>Online Store</em></a>
<div class="slide">
<ul>
<li><a href="/index.php/online-store/online-store/">Online Store</a></li>
<li><a href="/index.php/online-store/business-compliance-materials/">Business Compliance Materials</a></li>
<li><a href="/index.php/online-store/events/">Events</a></li>
<li><a href="/index.php/online-store/membership-products/">Membership Products</a></li>
</ul>
</div>
</li>
<li id="top-level" class=""><a class="opener" href="/index.php/contact-us/"><em>Contact us</em></a></li>
</ul>
孩子们是通过AJAX加载的,还是菜单只是显示内容?如果是这样的话,里面的锚定标签听起来像是连接到手风琴的点击事件上的
我注意到有一个选项:“AllowClickWhenExanded”似乎可以防止幻灯片在单击时隐藏:
if(item.hasClass(options.activeClass)) {
if(options.allowClickWhenExpanded) {
return;
} else if(options.collapsible) {
slider.slideUp(options.animSpeed, function(){
hideSlide(slider);
item.removeClass(options.activeClass);
});
}
}
因此,请尝试在函数顶部(或初始化手风琴时)将其启用为“true”。如果希望根据“当前页面”自动展开导航菜单,可以使用jQuery:
if ($('.nav').length > 0)
{
var currentUrl = window.location.pathname;
var navLink = $('.nav').find("a[href='/" + currentUrl + "']"); // find current page in navigation
// find parent
var parentLink = navLink.parentsUntil('.has-drop').find('.opener');
// trigger click on accordion, effectively expanding it (assuming menu always starts collapsed)
parentLink.trigger('click');
}
if ($('.nav').length > 0)
{
var currentUrl = window.location.pathname;
var navLink = $('.nav').find("a[href='/" + currentUrl + "']"); // find current page in navigation
// find parent
var parentLink = navLink.parentsUntil('.has-drop').find('.opener');
// trigger click on accordion, effectively expanding it (assuming menu always starts collapsed)
parentLink.trigger('click');
}