jquery切换slideUp/slideDown

Mat*_*hew 9 jquery

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

Mar*_*amy 15

使用.slideToggle()

  • +1.@Kaaviar:实际上,这应该可以运行得很好,因为`slideToggle()`将检查该元素当前是隐藏还是显示. (2认同)

And*_*y E 6

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

您还可以查看display酒店以查明当前是否可见.来自slideUp()的jQuery文档.

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

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

var $choices = $('div#choices');
if ($choices.css("display") == "none")
    $choices.slideDown();
else
    $choices.slideUp();
Run Code Online (Sandbox Code Playgroud)