我正在使用JQuery拖放。我想将包含可拖动元素('elements')的div移出屏幕,并在拖放后将可拖动元素放在相应的插槽上。
现在当所有可拖动的都在他们的插槽中时,我通过添加一个类来移动包含插槽的div,然后设置draggables的位置以匹配插槽:
$("#slots").addClass('left');
$( "#element1" ).position({my: "left top",at: "left top",of: "#slot_1"});
$( "#element2" ).position({my: "left top",at: "left top",of: "#slot_2"});
etc
完成此操作后,我会在拖动的元素上方显示视频,并在div“元素”上方显示。问题是div'元素'仍然占用空间......所以我想把它移出屏幕。我已尝试使用绝对定位执行此操作,但随后拖动的元素不会设置到其插槽中,它们会显示在插槽正上方的视频上方。
我也尝试将类'left'更改为div'slots'添加到:
#slots.left {
position:absolute;
top:400px;
left:30px;
}
但是这导致拖动的元素没有定位在插槽上,尽管使用:
$("#slots").addClass('left');
$( "#element1" ).position({my: "left top",at: "left top",of: "#slot_1"});
$( "#element2" ).position({my: "left top",at: "left top",of: "#slot_2"});
etc
基本上我只想减少视频和被拖动元素之间的垂直空间,方法是使用元素div来占用空间......
小提琴答案 0 :(得分:1)
在显示视频之前,您可以尝试隐藏包含已拖动元素的父div:
$('#elements').hide();
您可以尝试调整margin-top
div的#drag_drop
:
$('#drag_drop').css('margin-top', '-70px');
<强> Updated Fiddle 强>