Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何切换垂直jQuery.mme子菜单?_Jquery_Css_Mmenu - Fatal编程技术网

如何切换垂直jQuery.mme子菜单?

如何切换垂直jQuery.mme子菜单?,jquery,css,mmenu,Jquery,Css,Mmenu,几天以来,我一直在努力做到这一点: jQuery.mme菜单的子菜单将平滑切换,我始终希望一次只打开一个子菜单。另外,我喜欢保留一个特性,即如果页面打开,当前菜单元素是可见的 我确实在这里设置了一个 也许有人可以给我一个如何应用.next选择器的提示-以防这是正确的方法 我设法创建了一个滑动切换,但它切换所有子菜单,当然: $(document).ready(function() { $(".mm-vertical ul.level2").hide(); $(".mm-vertical

几天以来,我一直在努力做到这一点: jQuery.mme菜单的子菜单将平滑切换,我始终希望一次只打开一个子菜单。另外,我喜欢保留一个特性,即如果页面打开,当前菜单元素是可见的

我确实在这里设置了一个

也许有人可以给我一个如何应用.next选择器的提示-以防这是正确的方法

我设法创建了一个滑动切换,但它切换所有子菜单,当然:

$(document).ready(function() {
  $(".mm-vertical ul.level2").hide();
  $(".mm-vertical ul.level3").hide();
  $(".level1 a.mm-next").click(function () {
    $(".mm-vertical ul.level2").slideToggle("slow", function () {});
  });
  });

我找到了自己做这件事的方法。不是很优雅或简短,但它工作良好,并保持子菜单打开,以防它包含当前菜单项。该解决方案仅限于3个级别。我通过typo3生成菜单的html时添加了level1、level2类

$(".mm-vertical ul").hide();
$(".mm-vertical ul.level3").hide();


$(".level1 a.mm-next").on('click', function(){
var element = $(this).parent('li');
if (element.hasClass('mm-opened')) {
    element.find('ul.level2').slideUp("slow", function () {});
    }
    else {
        element.find('ul.level2').slideDown("slow", function () {});
        element.siblings('li').children('ul').slideUp("slow", function () {});
        element.siblings('li').removeClass('mm-opened');
        element.siblings('li').find('li').removeClass('mm-opened');
        element.siblings('li').find('ul').slideUp("slow", function () {});
        }
          });

$(".level2 a.mm-next").on('click', function(){
var element = $(this).parent('li');
if (element.hasClass('mm-opened')) {
    element.find('ul.level3').slideUp("slow", function () {});
    }
    else {
        element.find('ul.level3').slideDown("slow", function () {});
                element.siblings('li').children('ul').slideUp("slow",   function () {});
        element.siblings('li').removeClass('mm-opened');
        element.siblings('li').find('li').removeClass('mm-opened');
        element.siblings('li').find('ul').slideUp("slow", function () {});
        }
          });
 $('.level2.mm-selected').each(function(){
$(this).parent().removeAttr("style");
});
$('.level2.mm-opened').each(function(){
$(this).parent().removeAttr("style");
 var element = $('.level2.mm-opened');
 element.find('ul.level3').removeAttr("style");
 });
$('.level3.mm-selected').each(function(){
$(this).parent().removeAttr("style");
});
$('.level3.mm-opened').each(function(){
$(this).parent().removeAttr("style");



});

这将有助于向上滑动jQuery mmenus>子菜单

如何使用另一个插件?或者你想使用那个插件?我想保留它,因为我几乎完成了css和所有的东西。只是被那些子菜单的滑动开关卡住了。不管怎样,我还是赞成这项建议。 $("#menu").mmenu({ offCanvas: true, extensions : [ "position-right", "listview-50", "fx-panels-slide-up", "fx-listitems-drop", "border-offset" ], });