我试图获得一个简单的侧面导航栏,您可以使用一个按钮隐藏和取消隐藏。
到目前为止,我有 worknig ,但只有其他所有点击,所以点击隐藏作品,然后什么也不做,下次点击取消隐藏,没有等等。但是我必须按钮设置为图像才能更改在每次点击,这是有效的。
到目前为止我所拥有的是......
HTML:
<div id="navBar-control">
<a href="#" id="toggle-slide-button">
<img src="http://i.imgur.com/8BMxPsC.png" width="50px" height="50px" />
</a>
</div>
<div id="navBar">
<div class="navBtn navBtnText">
Calculator
</div>
<div class="navBtn navBtnText">
About
</div>
<div class="navBtn navBtnText">
Other Services
</div>
</div>
脚本:
var state = false;
$("#toggle-slide-button").click(function () {
if (!state) {
$('#navBar').animate({width: "toggle"}, 1000);
$('#toggle-slide-button img').attr('src', 'http://i.imgur.com/K3MG7gT.png');
state = true;
}
else {
$('#mnavBar').animate({width: "toggle"}, 1000);
$('#toggle-slide-button img').attr('src', 'http://i.imgur.com/8BMxPsC.png');
state = false;
}
});
如果重要的话,CSS:
#navBar{
background-color: #660000;
height: 780x;
width: 80px;
}
.navBtn{
background-color: #660000;
color: white;
width: 80px;
height: 70px;
cursor: pointer;
border-bottom: 1px solid rgba(255,255,255,.2);
opacity: 1;
font-size: 12px;
text-align: center;
}
.navBtnText {
line-height: 120px;
vertical-align: bottom;
}
.navBtn:hover{
background-color:#990000;
}
#navBar-control {
width: 50px;
height: 100%;
padding: 0 15px;
background-color: #000;
}
小提琴:http://jsfiddle.net/GUjPA/91/
我一直把这个放在这个小提琴上:http://jsfiddle.net/GUjPA/13/这只有它在屏幕右边而不是左边的行为。我使用的脚本完全相同,除了侧栏的不同颜色和大小,它基本上完全相同。
答案 0 :(得分:2)
你在这里犯了错误:
$('#mnavBar').animate({width: "toggle"}, 1000);
必须是
$('#navBar').animate({width: "toggle"}, 1000);
答案 1 :(得分:1)
var state = false;
$("#toggle-slide-button").click(function () {
if (!state) {
$('#navBar').animate({width: "toggle"}, 1000);
$('#toggle-slide-button img').attr('src', 'http://i.imgur.com/K3MG7gT.png');
state = true;
}
else {
$('#navBar').animate({width: "toggle"}, 1000);
$('#toggle-slide-button img').attr('src', 'http://i.imgur.com/8BMxPsC.png');
state = false;
}
});
试试这个:你在第二次调用#navbar
时添加了m
simplified in fiddle