所以我有一个按钮,我想用它来显示/隐藏我的菜单div。我想过切换,但由于它以div的显示为目标,最终会隐藏切换菜单的按钮。而且我不想移动按钮。
动画在点击上工作正常,但我还没有找到一种方法来上下切换。我尝试添加.stop()命令,但这只是杀死了整个事情......到目前为止这是我的代码:
$('.closebutton').click(function () {
$('#settings').stop().animate({top: '-170px'});
});
$('.closebutton').click(function() {
$('#settings').stop().animate({top: '0px'});
});
HTML:
<div id="settings">
<div class="closebutton"></div>
</div>
这里我们有CSS:
#settings {
position: absolute;
width: 100%;
height: 200px;
top: 0;
left: 0;
background: #202e3c;
z-index: 9999;
box-shadow: 0px 5px 5px rgba(0,0,0,.5)
}
.closebutton {
position: absolute;
cursor: pointer;
bottom: 5px;
right: 5px;
width: 25px;
height: 25px;
background: url(../images/gear.png);
background-size: cover;
}
答案 0 :(得分:0)
的 LIVE DEMO 强>
var t = 0; // Toggler
$('.closebutton').click(function ( e ) {
t = ++t % 2; // t= 1, 0, 1, 0, 1, 0......
$('#settings').stop().animate({ top: t? -200 : 0 }); // #settings
$(e.target).stop().animate({ bottom: t? -30 : 5 }); // This button
});
没有愚蠢的切换者:
的 LIVE DEMO 强>
$('.closebutton').click(function ( e ) {
var p = !$('#settings').position().top; // 0 = false else true (boolean trick)
$('#settings').stop().animate({ top: p? -200 : 0 });
$(e.target).stop().animate({ bottom: p? -30 : 5 });
});