如何同步slideDown和addClass以使动画正常工作?

时间:2017-02-05 11:49:11

标签: javascript jquery css settimeout

我想在点击时滑下我的ul,这通常是由css隐藏的。如果我在slideDown之前添加类“.open”,那么'500'持续时间不起作用,但如果我为addClass(“open”)setTimeOut为'500',那么它不会滑落直到setTimeOut到期。 我怎么能同步这两个,所以它不会延迟开放,它甚至没有打开它没有500的持续时间?

if(!jQuery(this).parent().hasClass("open")){
  jQuery(this).parent().addClass("open").children("ul").slideDown(500);
}
li:not(.open)>ul {
    display: none;
    max-height: 0;
}

这是没有动画的版本。

1 个答案:

答案 0 :(得分:0)

以下代码解决了我的问题:

jQuery(this).parent().addClass("open").children("ul").hide()‌​.slideDown(500);