【发布时间】:2017-09-26 14:22:44
【问题描述】:
我正在将一个 <img> 元素(章鱼)从上方的大灰色 <div> (#large) 移动到下方的小橙色 <div> (#small),使用
$(document).on("click", "#large > img", function() {
$(this).appendTo("#small");
});
这很好用,但我希望它平稳过渡并“飞”过,这样它会慢慢插入其坐标和大小。
我尝试添加 CSS 过渡
img { transition: all 3s; }
发给我的<img>,但这不起作用,因为图像被读取到 DOM 并且没有移动。
如何建立这样的动画?
【问题讨论】:
-
您不能为
appendTo设置动画。您必须通过将其位置设为绝对位置来将图像从页面流中取出,获取另一个框的 x/y 坐标,然后使用transition或 jQueryanimate之类的东西将其滑动到那里。 -
您可以将其过渡到该地点并延迟将其添加到新地点的时间与过渡持续时间相同,这应该使它看起来在过渡,但实际上仍在移动
-
用新的解决方案检查我的答案。我认为它的响应速度更快,您正在寻找的东西更多
-
我相信我已经发布了正确的答案。你看过了吗?
标签: javascript jquery css animation