【发布时间】:2013-07-22 08:57:20
【问题描述】:
大家好,我想就 css - jquery 拖放问题寻求帮助。 我熟悉将 div 定位到其容器的底部(位置:相对 -> 位置:绝对;底部:0;)。
目标:我想从存储 div 中拖动项目并放下另一个 div 并将这些项目从下到上垂直放置。就像建造一座塔(2D)或其他东西。如何将这些项目浮动到新容器的底部和彼此的顶部?
谢谢 - 贾尼
#drop {
height:300px;
background:#EDCCE9;
}
#drag {
margin-top:10px;
height:50px;
background:#B8D8E3;
}
#drag img {
display: inline-block;
margin-right:10px;
}
.temp {
display: block;
}
$('.item').draggable({
containment: 'document',
revert: true,
helper: 'clone',
start: function () {
contents = $(this).html();
currentValue = $(this).attr('value');
}
});
$('#drop').droppable({
hoverClass: 'border',
accept: '.item',
drop: function (event, ui) {
$(this).append($(ui.draggable).clone());
$('#drop .item').addClass('temp');
$('.temp').removeClass('ui.draggable item');
$(".temp").draggable({
containment: 'document',
revert: true
});
}
});
$('#drag').droppable({
hoverClass: 'border',
accept: '.temp',
drop: function (event, ui) {
$(ui.draggable).remove();
}
});
<div id="drop"></div>
<div id="drag">
<img src="blocks/a.png" width="50px" height="50px" class="item" />
<img src="blocks/b.png" width="50px" height="50px" class="item" />
<img src="blocks/c.png" width="50px" height="50px" class="item" />
<img src="blocks/d.png" width="50px" height="50px" class="item" />
<img src="blocks/e.png" width="50px" height="50px" class="item" />
<img src="blocks/f.png" width="50px" height="50px" class="item" />
</div>
【问题讨论】:
-
不要附加丢弃的项目,而是尝试附加它们。这应该将它们作为第一项添加到 HTML 流中。然后你可以让块正常浮动(或者清除浮动的 100% 宽度)。我认为这应该可行。
-
感谢您的快速回答,但我不得不对我可能不清楚的介绍表示歉意。我认为我的问题更多的是 css - 问题。 jquery“追加”和“前置”之间的区别更多的是关于项目排序而不是浮动。为了清楚起见,我会附上我很棒的 Photoshop 插图以尽可能清晰。 kalliopaja.fi/example.png 所以,我的目标是让所有掉落的物品都漂浮在彼此的底部。 -贾尼
标签: jquery css html drag-and-drop