2013-12-04 5 views
0

Я занимаюсь jQuery. Я использовал ниже код в моем скрипте, который работает некорректно. Этот код вытягивает 9 изображений из DOM и преобразует изображения, основываясь на значениях, определенных в массиве arr_trans, и должен быть анимирован параллельно, поэтому я использовал queue: false.jQuery animate не работает с переменными

for (var i=0; i < $('.mc-item').length;i++) { 

$('.mc-item').eq(i).animate({"-webkit-transform":"translate("+ arr_trans[i]+"px"+")"},{duration:100, queue:false}); 

} 

arr_trans[] -> содержит 9 различных значений, чтобы перевести каждое изображение в другом положении.

$('.mc-item') -> получает 9 изображений из DOM

Приведенный выше код работает, если я использую «CSS» вместо «живой». Заметьте, я бегу в браузере Chrome. Пожалуйста, порекомендуйте.

+0

Почему это '+" px "+") ", а не это' + "px)"? В любом случае, посмотрите [этот пост] (http://stackoverflow.com/a/16959065/1267304). – DontVoteMeDown

ответ

0

В соответствии с jQuery API (часть «Анимация свойств и значений») следующие свойства могут быть оживлены:

Все анимированные свойства должны быть анимационного к одному числовое значение, за исключением случаев, указанных ниже; большинство свойств, которые нечисловая не могут быть анимированы с использованием базовой функциональности Jquery

Поскольку transform не является полностью числовая (translate()) аниматор не знает, как его интерпретировать.

Если у вас нет плагина, я не знаю, что вам нужно реализовать анимацию самостоятельно, используя setTimeout и несколько .css -действия или использовать CSS3-анимации.

+0

Спасибо, Питер – user2955082

Смежные вопросы