Я пытаюсь сделать простой jQuery slideToggle()
для текста, содержащего DIV, и обнаружил, что анимация очень вялая (кажется, колеблется), поскольку анимация slideDown
приближается к нижней части скользящего DIV.
Код и пример этого можно найти здесь . Я протестировал на нескольких компьютерах и все современные версии популярных браузеров, все ведут себя одинаково. Странно, когда я запускаю точно такую же страницу в jsFiddle , она плавная.
Есть идеи?
UPDATE
Часть этого, как и предполагал кто-то другой, заключается в том, что jQuery не знает высоту скользящего DIV до запуска анимации. Поскольку содержимое в скользящем DIV будет динамичным и либо очень коротким, либо несколько длинным, я тоже. Я попытался получить высоту DIV, прежде чем скрыть ее с помощью jQuery, а затем соответствующим образом установить высоту CSS. Сделано для более плавной анимации, но, вероятно, не лучшее решение - демо
ОБНОВЛЕНИЕ 2
Похоже, что проблема была из-за нескольких проблем CSS с первоначальным примером. Во-первых, слишком много DIV. Во-вторых, у скользящего DIV был набор прокладок - плохо играет
с toggleSlide
, и, наконец, скользящий DIV находился в контейнере DIV, который также содержал #control-container
(кнопка) DIV.
Сокращение DIV до двух (внешний DIV для скользящего элемента и самого скользящего DIV) и не установка внешнего скользящего заполнения DIV, казалось, сделали свое дело - последний пример .