如何解决OnClick隐藏导航栏
我有这个导航栏,由于:hover,它在计算机屏幕上可以正常工作。但是,在移动屏幕上,您必须单击导航栏将其打开。当我选择li时,我想隐藏导航栏。但是我不确定该怎么做:/我必须将主菜单宽度设置为60px并隐藏溢出。我是用javasript制作的,但只能使用一次。如果要再次打开,则c的宽度和溢出保持不变。
.fa {
position: relative;
display: table-cell;
width: 60px;
height: 36px;
text-align: center;
vertical-align: middle;
font-size:20px;
}
.stick{
position: sticky;
top: 0;
bottom: 0;
}
.main-menu:hover,nav.main-menu.expanded {
width:250px;
overflow:visible;
}
li:hover + .main-menu:hover,nav.main-menu.expanded{
overflow: hidden !important;
width: 60px !important;
}
.main-menu {
background: grey;
border-right:1px solid #e5e5e5;
height:100%;
width:60px;
-webkit-transition:width .05s linear;
transition:width .05s linear;
-webkit-transform:translateZ(0) scale(1,1);
z-index:1000;
position: absolute;
}
.main-menu>ul {
margin:7px 0;
overflow: hidden;
}
.main-menu li {
position:relative;
display:block;
width:250px;
}
.main-menu li>a {
position:relative;
display:table;
border-collapse:collapse;
border-spacing:0;
color:#999;
font-family: arial;
font-size: 14px;
text-decoration:none;
-webkit-transform:translateZ(0) scale(1,1);
-webkit-transition:all .1s linear;
transition:all .1s linear;
}
.main-menu .nav-icon {
position:relative;
display:table-cell;
width:60px;
height:36px;
text-align:center;
vertical-align:middle;
font-size:18px;
}
.main-menu .nav-text {
position:relative;
display:table-cell;
vertical-align:middle;
width:190px;
}
.no-touch .scrollable.hover {
overflow-y:hidden;
}
.no-touch .scrollable.hover:hover {
overflow-y:auto;
overflow:visible;
}
a:hover,a:focus {
text-decoration:none;
}
nav {
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
-o-user-select:none;
user-select:none;
}
nav ul,nav li {
outline:0;
margin:0;
padding:0;
}
.main-menu li:hover>a,nav.main-menu li.active>a,.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus,.no-touch .dashboard-page nav.dashboard-menu ul li:hover a,.dashboard-page nav.dashboard-menu ul li.active a {
color:black;
background-color:#5fa2db;
}
.area {
height: 100%;
}
@font-face {
font-family: 'Titillium Web';
font-style: normal;
font-weight: 300;
src: local('Titillium WebLight'),local('TitilliumWeb-Light'),url(http://themes.googleusercontent.com/static/fonts/titilliumweb/v2/anMUvcNT0H1YN4FII8wpr24bNCNEoFTpS2BTjF6FB5E.woff) format('woff');
}
.container{
margin: 0 !important;
}
<nav class="main-menu">
<ul class="stick">
<li>
<a href="#1">
<i class="fa fa-home fa-2x"></i>
<span class="nav-text">
aa
</span>
</a>
</li>
<li class="has-subnav">
<a href="#">
<i class="fa fa-laptop fa-2x"></i>
<span class="nav-text">
bb
</span>
</a>
</li>
<li class="has-subnav">
<a href="#">
<i class="fa fa-list fa-2x"></i>
<span class="nav-text">
cc
</span>
</a>
</li>
<li class="has-subnav">
<a href="#">
<i class="fa fa-folder-open fa-2x"></i>
<span class="nav-text">
dd
</span>
</a>
</li>
<li>
<a href="#">
<i class="fa fa-bar-chart-o fa-2x"></i>
<span class="nav-text">
ee
</span>
</a>
</li>
</ul>
</nav>
解决方法
document.getElementsByTagName("body")[0].onclick = function(event){
if(event.target.offsetParent.offsetParent.tagName == "LI"){
document.getElementsByClassName("main-menu")[0].style.width = "60px";
}
}
document.getElementsByClassName("main-menu")[0].onmouseover = function(event){
this.style.width = "250px";
this.style.overflow = "visible";
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。