【问题标题】:Select a menu item with a submenu and then hide the main menu items选择带有子菜单的菜单项,然后隐藏主菜单项
【发布时间】:2014-11-01 20:13:37
【问题描述】:

我正在尝试创建一个移动移动菜单系统。

如果您单击“菜单项 4”,则主菜单项会应用“不显示”,这是我想要的,但是我想返回“菜单项 4”以重新启用它们我似乎无法锻炼:

此处的示例:http://jsfiddle.net/zidski/g3jkgyhy/

$("#menu-icon").on("click", function(){
    $("#sb-navigation").slideToggle();
    $(this).toggleClass("active");

    setTimeout(function(){
      $('#level1').hide();
    }, 500);
    $('.item').css('display', 'block');
  });

$("#submenu").on("click", function(){
    $("#level1").slideToggle();
    $(this).toggleClass("active");

    var v = $(this).toggleClass("active");
    var j = $('#sb-navigation nav ul li.item');

    if ($('#level1').is(':visible')){
      $(j).css('display', 'none');
      //alert('test');
    }else {
      $(j).css('display', 'block');
    }
  });

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    http://jsfiddle.net/g3jkgyhy/1/

    你需要改变

    $("#level1").slideToggle()
    

    $("#level1").slideToggle(function() {
    

    slideToggle 接受这个 done 回调,此时您需要检查 :visible。当您只调用 slideToggle() 并继续执行代码时,您会在 slideToggle 完成运行之前到达您的 is:visible 检查,因此 #level1 的可见性始终为真。

    【讨论】:

      猜你喜欢
      • 2015-09-08
      • 2020-04-03
      • 1970-01-01
      • 2014-05-30
      • 2016-12-08
      • 1970-01-01
      • 2018-12-05
      • 2019-09-19
      • 2014-02-20
      相关资源
      最近更新 更多