【发布时间】:2015-09-30 11:14:56
【问题描述】:
我正在使用带有 html5 拖放功能的 jquery 动画,我想制作与 google drive 相同的动画。
我设法做到了:
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();
});
});
});
});
动画工作正常并转到鼠标位置。但是,如果我在动画期间移动鼠标,则动画不会即时更新顶部和左侧,而是继续移动到我单击的位置,而不是跟随鼠标。
拖动事件让我知道鼠标在窗口中的位置。是否可以再次触发动画直到它到达鼠标位置?
[编辑] 我正在查看 jQuery 文档,发现我可以使用进度或步骤,但我无法找到是否可以更新这两个事件的顶部和左侧。有人知道吗?
【问题讨论】:
标签: jquery jquery-animate