Я снова угадываю, что вы хотите получить координаты каждого шага в этой анимации. Функция анимации jQuery предлагает step:function (number, tween)
, который вызывается на каждом этапе анимации. Смотрите демо для более подробной информации http://jsfiddle.net/nmGRt/5/
$('#rocket').delay(2000).animate({
bottom: '600px'
}, {
duration: 5000,
complete: function() {},
step: function (n, t) {
var pos = $(this).position();
$('#curVal')
.text('X: ' + pos.left.toFixed(2) + ' Y: ' + pos.top.toFixed(2))
.css({
left: pos.left - 150,
top: pos.top
});
}
});
Я предполагаю, что вы пытаетесь это без jQuery UI
. Если вы ориентируетесь только на современные браузеры, попробуйте использовать CSS3. См. Таблицу Browser Compatibility.
JS:
setTimeout(function() {
$('#rocket').addClass('fire').css('bottom', 600);
}, 2000);
CSS3:
.fire {
-moz-transition: bottom 5s;
-webkit-transition: bottom 5s;
-ms-transition: bottom 5s;
-o-transition: bottom 5s;
transition: bottom 5s;
}
DEMO:http://jsfiddle.net/nmGRt/2/
Кроме того, вы можете управлять анимацией с помощью какой-нибудь классный cubic-bezier
функцию. Смотрите демо http://jsfiddle.net/nmGRt/3/embedded/result/
.fire {
-webkit-transition: all 5000ms cubic-bezier(0.880, 0.045, 0.750, 0.750);
-moz-transition: all 5000ms cubic-bezier(0.880, 0.045, 0.750, 0.750);
-ms-transition: all 5000ms cubic-bezier(0.880, 0.045, 0.750, 0.750);
-o-transition: all 5000ms cubic-bezier(0.880, 0.045, 0.750, 0.750);
transition: all 5000ms cubic-bezier(0.880, 0.045, 0.750, 0.750); /* custom */
}
Вы можете создать эту функцию с этого сайта: http://matthewlein.com/ceaser/
Дополнительная
Быстрый перегона с преобразованием http://jsfiddle.net/nmGRt/4/embedded/result/
Ваша анимация хорошо работает, что вы хотите улучшить? JQuery 'animation' был разработан экспертом для этого, что бы вы хотели использовать другим способом для анимации вашей ракеты? – sdespont
Что вы подразумеваете под «улучшением»? Ваша анимация действительна! Вы хотите добавить больше анимаций? В противном случае это случай [если он не сломан, не исправляйте его] (http://en.wikipedia.org/wiki/Wikipedia:If_it_ain't_broke,_don't_fix_it). – Dom
Вы пытаетесь достичь использования jQuery без помощи функции iQuery UI animate? –