我在WordPress中创建了一个slideToggle下拉菜单。我刚刚将我的代码上传到JSFiddle。您可以看到演示here。
我想在所有子菜单上打开切换菜单。我正在尝试使用cookies。
$(document).ready(function () {
if ($.cookie('panel') == 'open') {
$('.dropdown-menu').slideDown();
} else {
$('.dropdown-menu').slideUp();
}
$('.fixed-navbar').on('click', '.dropdown', function () {
$('.dropdown-menu').slideToggle(function () {
if ($(this).is(':hidden')) {
$.cookie('panel', 'closed');
} else {
$.cookie('panel', 'open');
}
});
});
});
我正在使用https://github.com/carhartl/jquery-cookie插件。
出于某种原因,它无法正常工作。
答案 0 :(得分:0)
为什么不做丹麦443建议的呢?
尝试:
var $menu_with_children = $('.menu-item-has-children > a');
$menu_with_children.on('click', function(e){
e.preventDefault();
var $this = $(this);
if (!$this.parent().find('> .sub-menu').hasClass('visible')) {
$this.parent().find('> .sub-menu').addClass('visible').slideDown('slow');
} else{
$this.parent().find('> .sub-menu').removeClass('visible').slideUp('slow');
}
});
和css
ul.sub-menu{
display: none;
}
您可以添加此
$('#menu-main-menu li').each(function() {
if($(this).find('> .sub-menu').length) {
$(this).find('> a').append('+');
}
});
而不是+将箭头放下图标,以便您可以看到可以展开的菜单。