У меня проблема с jQuery slideDown, когда содержимое объекта, который я перемещаю, перемещается.
То, что происходит, - то, что div скользит вниз ПУТЬ выше высоты содержимого, а затем «привязывается» к правильной высоте.
Я думаю (просто теория), что div скользит вниз в зависимости от высоты, которая была бы, если бы содержимое внутри не плавало. Например, если у меня есть 4 плавающих предмета, кажется, что div расширяется вдвое больше, чем когда у меня есть 2 плавающих предмета.
Похоже, что никакое количество с плавающими плагинами с помощью clearfix ничего не исправит.
Решение, которое я использовал в прошлом (и то, которое рекомендуется), состоит в том, чтобы установить высоту элемента с помощью CSS ДО того, как его скрыть. Таким образом, скольжение знает, как далеко идти.
Проблема в том, что я вкладываю панели, которые используют слайд вниз. Я не могу установить высоту родительского элемента заранее, так как она будет рассчитана на основе уже развернутых вложенных скрытых панелей.
Я мог бы рекурсивно вызвать эту функцию, которая настраивает все мои панели переключателей ... найти внутренние вложенные панели, установить высоту, свернуть те, которые я хочу скрыть по умолчанию, и затем двигаться вверх по иерархии. Но это было бы ударом по производительности, когда пришлось бы так много проходить.
Кто-нибудь знает, как исправить это слайд-даун плавающего контента, не фиксируя высоту с помощью CSS, прежде чем вручную, без необходимости сначала вручную пересекать высоты установки dom?
UPDATE:
пример кода здесь:
http://jsbin.com/ajoka/10/
(нажмите на страницу, чтобы увидеть ее скольжение)
Это основано на точных стилях, которые я использую, и в этой конкретной комбинации вы увидите проблему. Обратите внимание, что DIV, установленный на slideDown, имеет розовый фон. Он будет скользить дальше, чем его содержимое, а затем быстро вернется на свое место.