2013-10-08 33 views

回答

1

首先,看起来您没有正确选择btnMenu元素。您需要指定它们是类还是ID。例如,使用$('.btn')$('#btn')。对于Menu必须做同样的事情。

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

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

demo

UPDATE

只是踢,如果您希望同时使用slideUpslideDown事件,您的评论请求,则可以使用.is(':visible')功能实现:

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

demo

+0

进出口新的jQuery的这样一个基本的问题,很抱歉。如何通过向上和向下滑动来实现相同的结果。 –

+0

@AndrewJohn slideToggle将为你照顾。如果元素启动,它将滑动。如果该元素关闭,它将滑动。在我看来,这是在这种情况下使用slideToggle的好习惯,但我会演示如何 –

+0

@andrewjohn我已经更新了我的答案 –

0

什么是btnMenu他们是id还是类?或other

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

价:

的.slideToggle()方法动画匹配元素的高度。 这会导致页面的较低部分向上或向下滑动,看似 显示或隐藏项目。如果该元素最初显示,则其将被隐藏; 将被隐藏;如果隐藏,它会显示。显示属性是 根据需要保存和恢复。如果某个元素内嵌显示值为 ,则该元素将被隐藏并显示,它将再次以内嵌方式显示 。当隐藏动画后高度达到0时, 显示样式属性设置为none,以确保更长的元素 影响页面布局。

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

代码:

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

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