Анимация не работает в jQuery 1.6!

#javascript #jquery #animation

#javascript #jquery #Анимация

Вопрос:

Сегодня утром я обновился до jQuery 1.6, и теперь многие анимации, которые я так долго настраивал в своем приложении, теперь терпят неудачу. Вот пример одной из них. Обратите внимание, что анимация 1.5 удерживает поле по центру, но в анимации 1.6 что-то идет не так.

Я сузил поиск до того, что связано с непрозрачностью, используемой в анимации. Если я уберу непрозрачность, она будет работать нормально…

Пример с JQ 1.5: http://jsfiddle.net/LJZ54/3

Пример с JQ 1.6: http://jsfiddle.net/LJZ54/4

Пример с JQ 1.6 (без непрозрачности): http://jsfiddle.net/LJZ54/5

Вопрос: Как я должен изменить свой код анимации, чтобы он работал в новом jQuery 1.6?

Комментарии:

1. Вы читали список основных изменений? blog.jquery.com/2011/05/03/jquery-16-released

2. Я не вижу, чтобы в последних изменениях что-либо говорилось об анимации…

3. Все эти скрипты работают у меня… Протестировано в IE8, FF и Chrome.

4. @anothershrubery вы должны заметить, что пример 1.6 не остается центрированным.

5. Я могу подтвердить, что в Chrome 10 версия 1.5 анимируется из центра квадрата, в то время как в 1.6 начало координат находится в левом верхнем углу.

Ответ №1:

Я отредактировал один из ваших jsFiddles для работы с новыми изменениями 1.6.

Теперь мне кажется, что все в порядке:http://jsfiddle.net/tomgrohl/RULJN /

На вашем marginLeft и marginTop я изменил значения с marginLeft:-200 на marginLeft:"-200px" .

Для работы они должны быть в кавычках. То же самое для width и height .

Чтобы анимация работала, я изменил следующее:

 $('div').animate({
    width:400,
    height: 400,
    marginLeft: -200,
    marginTop: -200,
    opacity:1
},500);
  

Для:

 $('div').animate({
    width:"400px",
    height: "400px",
    marginLeft: "-200px",
    marginTop:"-200px",
    opacity:1
},500);
  

Помещение измерения в кавычки заставляет анимацию работать. У меня такое чувство, что они все равно должны были быть в кавычках.

Комментарии:

1. Этот пример не соответствует примеру 1.5, который я опубликовал ( jsfiddle.net/LJZ54/3 ). Кажется, что ваша анимация растет из нижнего правого угла. Предполагается, что квадрат будет расти из центра.

2. Извините, да. Просто снова просматривает все остальные. Возможно, тогда это может быть ошибкой.

3. У меня просто что-то похожее, если вы посмотрите jsfiddle.net/tomgrohl/RULJN снова.

4. @Tomgrohl Блестяще! Если вы опубликуете это в качестве ответа, я подтвержду.