Javascript 在手风琴菜单中保持活动菜单项打开

Javascript 在手风琴菜单中保持活动菜单项打开,javascript,jquery,html,Javascript,Jquery,Html,我有一个Joomla菜单,它使用jQuery将它变成一个手风琴菜单。我有手风琴功能的工作,但我需要保持活动的子菜单项可见时,访客导航到一个特定的页面。我已经为子菜单提供了jQuery代码和HTML片段。Joomla对HTML中的父元素和子元素li应用了一个“active”类,我想知道jQuery是否可以使用它来保持accordion菜单的打开状态 (function($) { $(document).ready(function() { $('.accordion li.

我有一个Joomla菜单,它使用jQuery将它变成一个手风琴菜单。我有手风琴功能的工作,但我需要保持活动的子菜单项可见时,访客导航到一个特定的页面。我已经为子菜单提供了jQuery代码和HTML片段。Joomla对HTML中的父元素和子元素li应用了一个“active”类,我想知道jQuery是否可以使用它来保持accordion菜单的打开状态

(function($) {
    $(document).ready(function() {
        $('.accordion li.parent a').on('click', function() {
            $('.accordion .first-level, .accordion .second-level').removeAttr('href');
            var element = $(this).parent('li');
            if (element.hasClass('open')) {
                element.removeClass('open');
                element.find('li').removeClass('open');
                element.find('ul').slideUp();
            } else {
                element.addClass('open');
                element.children('ul').slideDown();
                element.siblings('li').children('ul').slideUp();
                element.siblings('li').removeClass('open');
                element.siblings('li').find('li').removeClass('open');
                element.siblings('li').find('ul').slideUp();
            }
        });
    });
})(jQuery);

<ul class="">
    <li class="item-164 active deeper parent">
        <a class="first-level" href="/projects/commercial" title="Commercial Projects" >
            <span>Commercial</span>
        </a>
        <ul>
            <li class="item-230 active deeper parent">
                <a class="second-level" href="/projects/commercial/car-washes-and-gas-bars" title="Car Washes and Gas Bars" >
                    <span>Car Washes and Gas Bars</span>
                </a>
                <ul>
                    <li class="item-582 current active">
                        <a href="/projects/commercial/car-washes-and-gas-bars/squeeky-kleen-red-deer" >
                            <span>Squeeky Kleen Red Deer</span>
                        </a>
                    </li>
                    <li class="item-252">
                        <a href="/projects/commercial/car-washes-and-gas-bars/squeeky-kleen-sylvan-lake" title="Squeeky Kleen Sylvan Lake" >
                            <span>Squeeky Kleen Sylvan Lake</span>
                        </a>
                    </li>
                    <li class="item-253">
                        <a href="/projects/commercial/car-washes-and-gas-bars/squeeky-kleen-innisfail" title="Squeeky Kleen Innisfail" >
                            <span>Squeeky Kleen Innisfail</span>
                        </a>
                    </li>
                    <li class="item-251">
                        <a href="/projects/commercial/car-washes-and-gas-bars/scottys-esso" title="Scotty's Esso Drayton Valley" >
                            <span>Scotty's Esso</span>
                        </a>
                    </li>
                    <li class="item-250">
                        <a href="/projects/commercial/car-washes-and-gas-bars/big-bucket-car-wash" title="Big Bucket Car Wash" >
                            <span>Big Bucket Car Wash</span>
                        </a>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
(函数($){
$(文档).ready(函数(){
$('.accordion li.parent a')。在('click',function()上{
$('.accordion.first-level,.accordion.second-level').removeAttr('href');
var元素=$(this.parent('li');
if(element.hasClass('open')){
元素。removeClass(“打开”);
元素。find('li')。removeClass('open');
元素。find('ul')。slideUp();
}否则{
元素addClass('open');
element.children('ul').slideDown();
元素。兄弟姐妹('li')。子元素('ul')。slideUp();
元素。同级('li')。removeClass('open');
元素。同级('li')。查找('li')。removeClass('open');
元素。同级('li')。查找('ul')。slideUp();
}
});
});
})(jQuery);

您正在使用jquery中的accordion小部件吗?有一个名为“活动”的选项,您可以在其中设置要打开的内容beginning@Clyff不,我使用的是CSS菜单生成器中的代码,这些代码经过修改以满足我的需要。你是指官方的jQueryAPI手风琴小部件吗?是的。对不起,我不熟悉CSS菜单生成器。嘿,我不确定你是否找到了你要找的解决方案,但是CSS菜单生成器告诉我怎么做。我希望有帮助!您正在使用jquery中的accordion小部件吗?有一个名为“活动”的选项,您可以在其中设置要打开的内容beginning@Clyff不,我使用的是CSS菜单生成器中的代码,这些代码经过修改以满足我的需要。你是指官方的jQueryAPI手风琴小部件吗?是的。对不起,我不熟悉CSS菜单生成器。嘿,我不确定你是否找到了你要找的解决方案,但是CSS菜单生成器告诉我怎么做。我希望有帮助!