Я хотел бы спуститься по моей ul при нажатии, что обычно скрыто css. Если я добавлю класс «.open» перед слайдом, то длительность «500» не будет работать, но если я установилTimeOut для addClass («open») для «500», то он не скользит вниз, пока истекает время setTimeOut. Как я могу синхронизировать эти два, так что это не задерживает открытие, и даже не открывает его без длительности 500?Как синхронизировать slideDown и addClass, чтобы анимация работала правильно?
if(!jQuery(this).parent().hasClass("open")){
jQuery(this).parent().addClass("open").children("ul").slideDown(500);
}
li:not(.open)>ul {
display: none;
max-height: 0;
}
Это версия, где он появляется без анимации.
Целью стек Snippets является, чтобы позволить вам показать ** ** готовые к выполнению примеров вашей проблемы. Вышеизложенное не выполняется; делая его выполнимым, добавляя другие необходимые бит, поможет вам получить ответы. –
Все методы эффекта jQuery имеют завершающие обратные вызовы. См. Docs – charlietfl
'jQuery (this) .parent(). AddClass (" open "). Children (" ul "). Hide(). SlideDown (500);' теперь это работает намного лучше, однако это не самое подходящее решение для сначала покажите его с помощью css, а затем сразу же спрячьте его, чтобы он сместился вниз. – sklrboy