Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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
Javascript 如何使用onclick函数打开子菜单并使用onclick函数隐藏_Javascript_Html_Css - Fatal编程技术网

Javascript 如何使用onclick函数打开子菜单并使用onclick函数隐藏

Javascript 如何使用onclick函数打开子菜单并使用onclick函数隐藏,javascript,html,css,Javascript,Html,Css,我做了一个侧边栏导航,我是在鼠标上方打开子菜单时这样做的,但我希望它在单击时打开,在同一选项卡上单击时隐藏它。请检查我的代码在这个代码笔谢谢 <nav class="navigation"> <ul class="mainmenu"> <li><a href="">Home</a></li> <li><a href="">About</a></li>

我做了一个侧边栏导航,我是在鼠标上方打开子菜单时这样做的,但我希望它在单击时打开,在同一选项卡上单击时隐藏它。请检查我的代码在这个代码笔谢谢

<nav class="navigation">
  <ul class="mainmenu">
    <li><a href="">Home</a></li>
    <li><a href="">About</a></li>
    <li><a href="">Products</a>
      <ul class="submenu">
        <li><a href="">Tops</a></li>
        <li><a href="">Bottoms</a></li>
        <li><a href="">Footwear</a></li>
      </ul>
    </li>
      <li><a href="">Contact us</a></li>
  </ul>
</nav>


提前感谢。

您可以使用隐藏的复选框,在不使用javascript的情况下单击关闭和打开子菜单:

html,正文{
字体系列:Arial、Helvetica、无衬线字体;
}
.导航{
宽度:300px;
}
.main菜单,.子菜单{
列表样式:无;
填充:0;
保证金:0;
}
.main菜单a、.main菜单标签{
显示:块;
背景色:#CCC;
文字装饰:无;
填充:10px;
颜色:#000;
}
.main菜单a:悬停,.main菜单标签:悬停{
背景色:#C5C5;
}
/*隐藏输入*/
.主菜单输入{
显示:无;
}
/*如果选中同级复选框,则显示菜单*/
.main菜单输入:选中~。子菜单{
显示:块;
最大高度:200px;
}
.子菜单a..子菜单标签{
背景色:#999;
}
.子菜单a:悬停{
背景色:#666;
}
.子菜单{
溢出:隐藏;
最大高度:0;
过渡:所有0.5s缓解;
}

  • 产品

您可以使用带有的隐藏复选框,在不使用javascript的情况下单击关闭和打开子菜单:

html,正文{
字体系列:Arial、Helvetica、无衬线字体;
}
.导航{
宽度:300px;
}
.main菜单,.子菜单{
列表样式:无;
填充:0;
保证金:0;
}
.main菜单a、.main菜单标签{
显示:块;
背景色:#CCC;
文字装饰:无;
填充:10px;
颜色:#000;
}
.main菜单a:悬停,.main菜单标签:悬停{
背景色:#C5C5;
}
/*隐藏输入*/
.主菜单输入{
显示:无;
}
/*如果选中同级复选框,则显示菜单*/
.main菜单输入:选中~。子菜单{
显示:块;
最大高度:200px;
}
.子菜单a..子菜单标签{
背景色:#999;
}
.子菜单a:悬停{
背景色:#666;
}
.子菜单{
溢出:隐藏;
最大高度:0;
过渡:所有0.5s缓解;
}

  • 产品

我希望这对您有所帮助。我添加了一些jquery。用于目标子菜单的Id。你也可以为其他人重复。只需要更改id。我也为about选项卡创建了一个示例。单击此处的另一个选项卡,其他选项卡菜单将关闭

$('.dropdown')。单击(函数(){
var target_id=$(this.attr('data-toggle');
$('.dropdownlist').not(target_id).slideUp();
$(target_id).slideToggle();
$('.dropdownlist').not(target_id).parents('li,.icon tab').removeClass('active');
$('.dropdown').not(this).parents('.icon选项卡').removeClass('active');
$(this).parents('li,.icon-tab').toggleClass('active');
});
html,正文{
字体系列:Arial、Helvetica、无衬线字体;
}
/*为整个菜单定义固定宽度*/
.导航{
宽度:300px;
}
/*重新设置列表以删除要点和填充*/
.main菜单,.子菜单{
列表样式:无;
填充:0;
保证金:0;
}
/*使所有链接(主菜单和子菜单)具有填充和背景色*/
.主菜单a{
显示:块;
背景色:#CCC;
文字装饰:无;
填充:10px;
颜色:#000;
}
/*添加悬停行为*/
.main菜单a:悬停{
背景色:#C5C5;
}
/*将鼠标悬停在.main菜单项上时,
显示其中的子菜单。
我们正在将子菜单的最大高度从0更改为200px;
*/
/*
我们现在只覆盖.子菜单链接的背景色。
CSS向下读取页面,因此底部的代码将覆盖顶部的代码。
*/
.子菜单a{
背景色:#999;
}
/*子菜单内链接的悬停行为*/
.子菜单a:悬停{
背景色:#666;
}
/*这是所有子菜单的初始状态。
我们将其设置为最大高度:0,并隐藏溢出的内容。
*/
.子菜单{
显示:无;}


  • 我希望这对您有所帮助。我添加了一些jquery。用于目标子菜单的Id。你也可以为其他人重复。只需要更改id。我也为about选项卡创建了一个示例。单击此处的另一个选项卡,其他选项卡菜单将关闭

    $('.dropdown')。单击(函数(){
    var target_id=$(this.attr('data-toggle');
    $('.dropdownlist').not(target_id).slideUp();
    $(target_id).slideToggle();
    $('.dropdownlist').not(target_id).parents('li,.icon tab').removeClass('active');
    $('.dropdown').not(this).parents('.icon选项卡').removeClass('active');
    $(this).parents('li,.icon-tab').toggleClass('active');
    });
    
    html,正文{
    字体系列:Arial、Helvetica、无衬线字体;
    }
    /*为整个菜单定义固定宽度*/
    .导航{
    宽度:300px;
    }
    /*重新设置列表以删除要点和填充*/
    .main菜单,.子菜单{
    列表样式:无;
    填充:0;
    保证金:0;
    }
    /*使所有链接(主菜单和子菜单)具有填充和背景色*/
    .主菜单a{
    显示:块;
    背景色:#CCC;
    文字装饰:无;
    填充:10px;
    颜色:#000;
    }
    /*添加悬停行为*/
    .main菜单a:悬停{
    背景色:#C5C5;
    }
    /*将鼠标悬停在.main菜单项上时,
    显示其中的子菜单。
    我们正在将子菜单的最大高度从0更改为200px
    
    .subrollin{
      overflow: hidden;
      max-height: 0;
      -webkit-transition: all 0.5s ease-in;
    }
    .subrollout{
      overflow: block;
      max-height: 200px;
      -webkit-transition: all 0.5s ease-out;
    }
    
    var element = document.getElementsByClassName('parentmenu')[0];
    element.addEventListener("click", function(e) {
    var sub = document.getElementsByClassName('submenu')[0];
      if(sub.classList.contains('subrollout')){
          sub.classList.add("subrollin");    
          sub.classList.remove("subrollout");
      } else {
          sub.classList.add("subrollout");
          sub.classList.remove("subrollin");
      }
    }, false);