jquery切换slideUp / slideDown

我有一个div#项目,如果它被点击,那么div#choices slideDown()。 如果它再次被点击,那么div#choices应该是slideUp(); 我如何测试选择是否已经下降或上升? 我知道我可以存储一个变量并在点击div#项时切换它的值,但是如果#choices被其他方式滑落了怎么办?

使用.slideToggle()

正如Marimuthu的回答所指出的,如果div已经打开,你可以使用slideToggle()向上滑动,如果div已经关闭,你可以向下滑动。

您还可以检查display属性以查明它当前是否可见。 来自slideUp()的jQuery文档。

高度达到0后,显示样式属性将设置为none,以确保该元素不再影响页面布局。

知道这一点,你可以检查它是否设置为“none”:

 var $choices = $('div#choices'); if ($choices.css("display") == "none") $choices.slideDown(); else $choices.slideUp(); 

试试这个 –

HTML:

 Show  

JQUERY SCRIPT:

 $('.nav-toggle').click(function(){ var content_id = $(this).attr('href'); var toggle_switch = $(this); $(content_id).toggle(function(){ if($(this).css('display')=='none'){ toggle_switch.html('Show'); }else{ toggle_switch.html('Hide'); } }); });