iNickolay
@iNickolay

Откуда задержка у transition при обратном действии?

При первом нажатии на "выбрать марку" сразу появляется выпадающий список, а при повторном - происходит задержка где-то в секунду.
Вот пример: https://jsfiddle.net/cjw4fkq5/

Откуда берётся эта задержка при повторном клике, и как её убрать?
  • Вопрос задан
  • 402 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега CSS
Вы выставляете max-height равным 600, в то время как высота элемента - всего 50. Так что пока max-height уменьшается с 600 до 50, внешне ничего не меняется.

UPD. Как исправить. Могу предложить два варианта:

1) Менять max-height не у ul, а у li. Это позволит назначить конкретную высоту элементов. Типа так.

2) Для открытого состояния также определить transition: max-height. Подобрать временные функции так, чтобы при открытии списка сначала он разворачивался медленно, а в конце быстро. А при закрытии наоборот - сначала быстро, затем медленно. Типа так.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
EPIDEMIASH
@EPIDEMIASH
Человек швейцарский нож
Попробуйте поставить функцию all.

А вообще убрал анимацию всех браузеров и добавил только, вроде исчезла задержка:

transition: 1s all;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы