【发布时间】:2017-09-02 18:17:03
【问题描述】:
这是显示导航图标的html代码
<div>
<div id="mob-nav" className={this.state.navbar + " right"}>
<div onClick={this.toggle.bind(this)}>
<div>click me</div>
<div></div>
<div></div>
</div>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">5</a></li>
<li><a href="#"> 6</a></li>
<li><a href="#">7</a></li>
<li><a href="#">8</a></li>
</ul>
</div>
<div id="left_panel">
<div className="title">
Naveen Tool
</div>
<div className="user_name">
Name
</div>
<div className="submenu">
<a href="structuring">Home</a>
<a href="#">Log out</a>
</div>
</div>
</div>
这是切换导航的css代码
#mob-nav {
position:fixed;
z-index:1000;
top:0px;
bottom:0px;
width:270px;
-webkit-box-shadow: inset -11px 0px 33px -10px rgba(51,51,51,1);
-moz-box-shadow: inset -11px 0px 33px -10px rgba(51,51,51,1);
box-shadow: inset -11px 0px 33px -10px rgba(51,51,51,1);
background-color: rgba(0,0,0,0.8);
transform: translate3d(-270px,0,0);
transition: transform 300ms ease;
}
.active-mob-nav #mob-nav {
transform: translate3d(0,0,0);
}
#mob-nav ul{
list-style:none;
width: 100%;
padding: 0px;
}
.table_border{
border: 1px solid black;
}
#mob-nav ul li a{
display:block;
text-align:center;
text-decoration:none;
color:#fff;
background-color:#2e2e2e;
padding:25px 0px;
}
#mob-nav ul li a:hover{
background-color:#2eb187;
}
.mob-nav-btn {
position:absolute;
left: 275px;
top: 18px;
line-height: 10px;
padding: 16px;
cursor:pointer;
border-radius: 0px 10px 10px 0px;
-moz-border-radius: 0px 10px 10px 0px;
-webkit-border-radius: 0px 10px 10px 0px;
}
.mob-nav-btn > div{
background-color: #f7f7f7;
width: 25px;
margin-top: 2px;
margin-bottom: 2px;
display: inline-block;
margin-left: auto;
margin-right: auto;
height: 2px;
transition: all 300ms;
}
.mob-nav-btn:hover > div{
width: 30px;
border-radius:0px;
}
在反应中,我试图在单击导航按钮时设置状态。反应状态正在改变,但导航栏没有打开。
toggle(){
this.setState({
navbar :"active-mob-nav"
})
}
我看到开发者工具中的元素,状态正在改变。导航栏未打开 有人可以解释一下如何像在 onClick() 上一样在导航栏上切换类吗?
【问题讨论】: