Есть ли способ исправить движение пикселей при использовании меню в стиле гармошки с jQuery? - PullRequest
2 голосов
/ 06 января 2011

Для проекта мне нужны некоторые функциональные возможности, которые во многом похожи на функцию аккордеона в jQuery UI, но я не использую jQuery UI.Но я заметил, что проблема с моим кодом присутствует и в аккордеоне jQuery UI.Поэтому я буду использовать его в качестве примера.

Вот ссылка на аккордеон пользовательского интерфейса jQuery: http://jqueryui.com/demos/accordion/

Если вы заметите, когда нажимаете «раздел 2», «раздел 4Кнопка перемещается на несколько пикселей вверх, и когда анимация завершена, она сдвигается на несколько пикселей вниз, чтобы вернуть свое место.Я заметил, что чем больше элементов в вашем списке, тем больше «разрыв» при активации анимации вверху списка.

Сначала я подумал, что это вызвано анимациейзакрывающий элемент не запускается одновременно с анимацией открывающего элемента.Но после того, как я погуглил решение для запуска двух анимаций одновременно, я обнаружил, что использую правильный способ сделать это.

Затем я подумал, что, возможно, ослабление вызывает эту проблему, поэтому яиспользовал "линейный" в качестве опции замедления в animate ().И проблема все еще там.

Есть ли способ исправить это?Чтобы убедиться, что последний элемент не будет перемещаться, пока анимированы 2 предыдущих элемента?

Я спрашиваю, потому что уверен, что мой клиент увидит это как досадную ошибку.

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 04 июня 2012

Это скорее обходной путь, но если вы не найдете лучшего решения и клиент будет настаивать на его исправлении, вы можете попробовать это Непосредственно перед анимацией получите абсолютную позицию всех элементов ниже того, который будет анимирован, и установите все эти элементы как абсолютные. Когда анимация закончится, восстановите значения стиля по умолчанию для позиции сверху и слева.

...