#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 Блестяще! Если вы опубликуете это в качестве ответа, я подтвержду.