单击后设置“激活”手风琴菜单

我点击链接后尝试将手风琴菜单设置为“活动”并更改页面…

 

jQuery的:

  $(document).ready(function(){ $('dd').hide(); $('dt a.submenu').click(function(){ $("dd:visible").slideUp("slow"); $(this).parent().next().slideDown("slow"); return false; }); });  

我也在尝试,请使用此https://stackoverflow.com/questions/10681033/accordion-menu-active-state-after-link-click但不行…

我尝试了什么(但不工作):

  $(document).ready(function(){ $('dd').hide(); var sPath = window.location.pathname; var sPage = sPath.substring(sPath.lastIndexOf('/') + 1); $("dt a.submenu[href='" + sPage + "']").parents("dd:visible").show(); $('dt a.submenu').click(function(){ $("dd:visible").slideUp("slow"); var checkElement = $(this).next(); if ((checkElement.is("dd")) && (checkElement.is(":visible"))) { return false; } if ((checkElement.is("dd")) && (!checkElement.is(':visible'))) { $(this).parent().next().slideDown("slow"); checkElement.slideDown("normal"); return false; } }); });  

好吧,第一个子链接ul指向特定页面,但另一个子链接ul class=produtos显示数据库中的类别,并在每个类别上使用相同的链接,如: produtos_categoria.asp?categoria=xxxxxx

如果用户在https://stackoverflow.com/questions/16325178/set-active-accordion-menu-after-click/empresa.asp页面上单击“EMPRESA”,则需要打开QUEM SOMOS菜单。 如果用户点击菜单PRODUTOS下的某些类别,则在PRODUTOS页面上需要打开PRODUTOS ..

我很清楚?

那么..我需要做什么?

FIDDLE: http : //jsfiddle.net/Qf7Js/1/

检查这个jsfiddle ,看它是否符合你的要求。 据我所知,你想在页面加载时自动打开包含当前链接的折叠菜单。 这可以通过以下代码实现

 //say this is the current link which can be retrieved in real website using window.location object var init_link = 'institucional.asp' //then instead of hiding all 
, using $('dd').hide(), you only hide the ones that don't contain an that has href equal to init_link. $('dd').filter(function () { return $('a[href="' + init_link + '"]', $(this)).length == 0 }).hide();

只需将init_link值更改为当前URL即可。 请注意主机名部分,因为您的可能不包含绝对URL。 这可能有助于在Web浏览器中获取当前URL 。

要获得没有主机名部分的currnet URL,您可以 (不一定)使用以下代码

 var init_link = window.location.href.replace(window.location.protocol+'//'+window.location.hostname+'/', '') 

为了澄清,除了隐藏/显示下一个dd项之外,您似乎要做的就是将一个类应用于dt ? 这可以通过回调函数实现,也可以通过简单地链接方法来实现。 像这样的东西:

  

希望这有助于提供一些方向。