jQuery animate переставляет братьев и сестер, пока анимация не завершится. Как я могу это остановить? - PullRequest
1 голос
/ 29 марта 2012

Посмотрите на этот jsfiddle: http://jsfiddle.net/Dh96F/1/

Кнопка «Развернуть» анимирует расширение среднего столбца. Когда это произойдет, вы увидите, как все перемещается к следующему ряду, пока идет анимация. То же самое верно при сжатии столбца.

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

Спасибо.

ОБНОВЛЕНИЕ: РЕШЕНО - Спасибо @Alnitak за образование. Я использую jQuery в среде Drupal 6.x, а модуль jquery_update доведет только версию jquery до 1.3.2.

Я нашел хак для этого модуля, чтобы позволить мне использовать любую версию jquery, которую я хочу. Ваше предложение по обновлению было только билетом! Ура!

1 Ответ

4 голосов
/ 29 марта 2012

jQuery 1.3.2 - древняя версия - рассмотрите возможность обновления.

Если вы выберете jQuery 1.4.4 или новее в jsfiddle, проблема не возникнет.

В частности, похоже, что метод .animate() в jQuery 1.3.2 переопределяет стиль вашего <ul>, чтобы он был block вместо inline-block во время анимации. Более поздние версии этого не делают.

Попробуйте http://jsfiddle.net/qDwYE/,, который я установил, чтобы остановить анимацию через 100 мс, а затем отобразить свойство display. Затем перейдите на jQuery 1.4.4 и повторите попытку.

Похоже, это ошибка # 2185 .

...