当页面加载时,Javascript手风琴菜单会打开

时间:2015-08-22 21:24:50

标签: javascript html css menu accordion

我对编码非常陌生,尤其是Javascript。我最近找到了一个教程,我必须为手风琴菜单工作,但我无法理解如何在页面加载时关闭下拉菜单。目前,当页面加载时,所有下拉列表都会打开。我试着看其他解决方案,但我还没完全理解代码。非常感谢你!

(function($){
$(document).ready(function(){

$('#cssmenu li.active').addClass('open').children('ul').show();
 $('#cssmenu li.has-sub>a').on('click', function(){
    $(this).removeAttr('href');
    var element = $(this).parent('li');
    if (element.hasClass('open')) {
        element.removeClass('open');
        element.find('li').removeClass('open');
        element.find('ul').slideUp(200);
    }
    else {
        element.addClass('open');
        element.children('ul').slideDown(200);
        element.siblings('li').children('ul').slideUp(200);
        element.siblings('li').removeClass('open');
        element.siblings('li').find('li').removeClass('open');
        element.siblings('li').find('ul').slideUp(200);
    }
});

});


})(jQuery);

2 个答案:

答案 0 :(得分:0)

替换

$('#cssmenu li.active').addClass('open').children('ul').show();

在第4行

$('#cssmenu li.active').removeClass('open').children('ul').hide();

答案 1 :(得分:0)

您仅在点击时触发了展开操作。只需在DOM元素上设置第一个状态。

<div style="display: none;"></div>

或者默认情况下控制“关闭”类名而不是“打开”