我在点击.menubutton
时显示(scrollDown)菜单,并在菜单中点击链接时再次隐藏(scrollUp)菜单:
var navi = $('#navigation').hide();
$('.menubutton').toggle(function() {
navi.slideDown();
}, function() {
navi.slideUp();
});
$('#navigation a').click(function() {
navi.slideUp();
});
问题是,如果单击了菜单链接,则必须单击.menubutton
以便再次显示(滚动)菜单。
知道为什么会这样吗?我希望.menubutton
每次响应1次。
答案 0 :(得分:2)
.menubutton
正在进行切换。所以它调用一个函数,然后调用另一个函数,依此类推。不要使用.toggle
,请尝试使用.slideToggle
。
$('.menubutton').click(function() {
navi.slideToggle();
});
答案 1 :(得分:2)
您在点击导航元素时直接致电slideUp
,因此.menubutton
切换仍处于下次点击时也会调用slideUp
的状态。请尝试改为调用.menubutton
的{{1}}:
click