移动浮动 div 时为其设置动画
我有两列,左边的一列是方形、浮动、jQuery 可拖动元素的网格。右侧的列是 jQuery 放置目标。因此,当我将一个 dropabble 放在目标上时,它会附加到右列并隐藏在左侧,导致网格移动以填充该 dropabble 所在的空间。
有没有办法可以使用 jQuery 来制作动画而不是即时移动?
好的,我添加了一些代码。我想说的是,如果您将绿色拖过去,左列中后面的那些将移动以填充空白区域。我想知道他们自己做出的动作(其中一个离开后)是否可以动画化。抱歉,如果我感到困惑,不知道如何解释这一点。
谢谢
,如果有人有任何想法,最后一击。
<script type="text/javascript" src="jquery.min.js"></script>
<script src="jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script>
<style>
.leftColumn{ width: 300px; height: 500px; outline: 2px solid blue; margin: 50px; float: left;}
.rightColumn{ width: 300px; height: 500px; outline: 2px solid green; margin: 50px; float: left;}
.gridElement{ width: 70px; height: 70px; outline: 2px solid purple; margin: 10px; float: left;}
</style>
<div class="leftColumn">
<div style="background-color: red;" class="gridElement"></div>
<div style="background-color: orange;" class="gridElement"></div>
<div style="background-color: yellow;" class="gridElement"></div>
<div style="background-color: green;" class="gridElement"></div>
<div style="background-color: blue;" class="gridElement"></div>
<div style="background-color: purple;" class="gridElement"></div>
<div style="background-color: gray;" class="gridElement"></div>
<div style="background-color: fuchsia;" class="gridElement"></div>
</div>
<div class="rightColumn"></div>
<script type="text/javascript">
$(document).ready(function() {
$(".gridElement").draggable({revert: "invalid", containment: "window", helper: "clone", appendTo: "body"});
$(".rightColumn").droppable({drop: function(event, ui) {
$(".rightColumn").append(ui.draggable);
ui.draggable.hide();
$(".rightColumn .gridElement").show();
}});
});
</script>
I have two columns, the one on the left is a grid of square, floated, jQuery draggable elements. The column on the right is a jQuery drop target. So when I drop a dropabble on the target it gets appended to the right column and hidden on the left, causing the grid to move to fill the space where that one just was.
Is there a way I can animate this using jQuery instead of an instant move?
Ok, I added some code. What I'm trying to say is that if you were to drag the green over, the ones after in the left column will move to fill the empty space. I'm wondering if the move they make by themselves (after one leaves) can be animated. Sorry if I'm being confusing, not sure how to explain this.
Thanks
One last bump if anyone has any ideas.
<script type="text/javascript" src="jquery.min.js"></script>
<script src="jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script>
<style>
.leftColumn{ width: 300px; height: 500px; outline: 2px solid blue; margin: 50px; float: left;}
.rightColumn{ width: 300px; height: 500px; outline: 2px solid green; margin: 50px; float: left;}
.gridElement{ width: 70px; height: 70px; outline: 2px solid purple; margin: 10px; float: left;}
</style>
<div class="leftColumn">
<div style="background-color: red;" class="gridElement"></div>
<div style="background-color: orange;" class="gridElement"></div>
<div style="background-color: yellow;" class="gridElement"></div>
<div style="background-color: green;" class="gridElement"></div>
<div style="background-color: blue;" class="gridElement"></div>
<div style="background-color: purple;" class="gridElement"></div>
<div style="background-color: gray;" class="gridElement"></div>
<div style="background-color: fuchsia;" class="gridElement"></div>
</div>
<div class="rightColumn"></div>
<script type="text/javascript">
$(document).ready(function() {
$(".gridElement").draggable({revert: "invalid", containment: "window", helper: "clone", appendTo: "body"});
$(".rightColumn").droppable({drop: function(event, ui) {
$(".rightColumn").append(ui.draggable);
ui.draggable.hide();
$(".rightColumn .gridElement").show();
}});
});
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我还没有在这个确切的上下文中使用过这个,但看起来 Quicksand 插件可能可以解决这个问题:
jQuery Quicksand 插件
I haven't used this in this exact context, but it appears that the Quicksand plugin might do the trick:
jQuery Quicksand plugin
不知道这是否是你想要的,但我确实尝试过:)
Don't know if this is what you want, but I did make an attempt :)