Я пытаюсь сделать простой jQuery slideToggle()
на тексте, содержащем DIV, и нашел анимацию очень вялой (кажется, смущается), поскольку анимация slideDown
приближается к нижней части раздвижного DIV.Взаимодействие с анимацией с jQuery slideToggle
Код и пример этого можно найти here. Я тестировал несколько компьютеров и все современные версии популярных браузеров, все ведут себя одинаково. Как ни странно, когда я запускаю ту же самую страницу в jsFiddle, она гладкая.
Любые идеи?
UPDATE
Часть этого, кажется, как будто кто-то предложил, что JQuery не знает высоту скольжения DIV до анимации работает. Поскольку содержимое в скользящем DIV будет динамичным и очень коротким или несколько длинным, я тоже. Поэтому я попытался захватить высоту DIV перед тем, как спрятать его с jQuery, а затем соответствующим образом установить высоту CSS. Сделано для несколько более гладкой анимации, но, вероятно, не самое лучшее решение - demo
UPDATE 2
Казалось бы, что проблема была из-за нескольких проблем CSS с начальным примером. Во-первых, слишком много DIV. Во-вторых, скользящая DIV имела набор дополнений - не играет хорошо с toggleSlide
, и, наконец, скользящий DIV находился в контейнере DIV, который также содержал #control-container
(кнопка) DIV.
Уменьшение DIVs до двух (внешний DIV для скользящего элемента и самого раздвижного DIV), а не установка наружного сдвига DIV, похоже, делало трюк - final example.
В каком браузере вы видите проблему? Единственное, что я могу придумать, это добавить функцию ослабления. – Jlange
Я нахожусь на своем iPhone прямо сейчас, поэтому я не могу подтвердить свое предположение, но раньше я сталкивался с подобными причудами при анимации элементов с свойствами «padding» и/или «margin» и 'height: auto'. Попробуйте обернуть ваш фактический контент в контейнер div и/или дать ему фиксированную высоту, чтобы увидеть, будет ли анимация работать гладко. – vzwick
IE 9, последние версии Chrome и Firefox. То, что меня больше всего озадачивает, заключается в том, что он работает безупречно в jsFiddle – NightMICU