Jquery菜单不起作用?按钮单击slideDown

时间:2013-10-08 14:58:00

标签: jquery

$('btn').click(function() {
    $('Menu').slideDown();
    }, function() {
        $('btn').click(function(){
          $('Menu').slideUp();
});

});

我想要实现的是,当点击btn slideDown菜单时。当再次点击关闭!

2 个答案:

答案 0 :(得分:1)

首先,您似乎没有正确选择btnMenu元素。您需要指定它们是类还是ID。

例如,使用$('.btn')$('#btn')。必须对Menu执行相同操作。

要简化代码,请尝试使用slideToggle()

$('btn').click(function() {
   $('Menu').slideToggle('slow');
});

demo

<强>更新

只是为了解决问题,如果您希望在评论请求时同时使用slideUpslideDown个事件,则可以使用.is(':visible')功能实现此目的:

$('#btn').click(function() {
    if ($('#menu').is(":visible")) {
        $('#menu').slideUp('slow');
    }
    else {
        $('#menu').slideDown('slow');
    }  
});

demo

答案 1 :(得分:0)

btnMenu是id还是类?或other

通过切换来显示/隐藏元素,有slideToggle方法。

价:

  

.slideToggle()方法可以设置匹配元素的高度。   这会导致页面的下半部分向上或向下滑动   揭露或隐藏物品。如果最初显示元素,则为   将被隐藏;如果隐藏,它将被显示。显示属性是   根据需要保存和恢复。如果元素的显示值为   内联,然后隐藏和显示,它将再次显示   排队。当隐藏动画后高度达到0时,   display style属性设置为none以确保元素号为no   更长时间会影响页面的布局。

     

持续时间以毫秒为单位;值越高表示速度越慢   动画,而不是更快的动画。字符串'快'和'慢'可以   提供的指示持续时间为200和600毫秒,   分别

代码:

$('.btn').click(function() {
    $('#menu').slideToggle('slow');
});

演示:http://jsfiddle.net/IrvinDominin/HHvjC/