Я использую jquery для анимации с перетаскиванием html5, и я хотел сделать ту же анимацию, что и для Google.Jquery animate top left dynamic
мне удается сделать:
element.bind('drag', function(e) {
_.each(draggedFiles, function(id) { //draggedFiles is an array of id
id = 'fs-row-' + id;
var newRow = angular.element('body').find('div#'+ id); // Element being animated
newRow.animate({
width: 190,
height: 50,
top: e.originalEvent.pageY,
left: e.originalEvent.pageX,
}, 'medium', function() {
// When the animation is over the tag element are being removed from the DOM
_.each(draggedFiles, function(id) {
id = 'fs-row-' + id;
angular.element('body').find('div#'+ id).remove();
});
});
});
});
Анимация работает отлично и перейти к позиции курсора мыши. Но если я перемещаю мышь во время анимации, анимат не будет обновлять верхнюю и левую кнопки «на лету», а вместо этого просто продолжит движение туда, где я щелкнул, вместо того, чтобы следовать за мышью.
Событие перетаскивания позволяет мне узнать положение мыши в окне. Можно ли снова активировать анимацию, пока она не достигнет положения мыши?
[edit] Я смотрю на документ jQuery и обнаружил, что могу использовать прогресс или шаг, но не могу найти, может ли его обновить верхний и левый из этих двух событий. Кто-нибудь знает?