Jquery 在拖放后将div移出包含可拖动项的屏幕,并保持拖动元素的位置

Jquery 在拖放后将div移出包含可拖动项的屏幕,并保持拖动元素的位置,jquery,jquery-ui,jquery-ui-draggable,Jquery,Jquery Ui,Jquery Ui Draggable,我正在使用JQuery拖放。我想将包含可拖动元素(“元素”)的div移出屏幕,并在拖放后将可拖动元素放置在相应的插槽中 现在,当所有拖拉表都在它们的插槽中时,我通过添加一个类将包含这些插槽的div向左移动,然后设置拖拉表的位置以匹配这些插槽: $("#slots").addClass('left'); $( "#element1" ).position({my: "left top",at: "left top",of: "#slot_1"}); $( "#element2" ).positio

我正在使用JQuery拖放。我想将包含可拖动元素(“元素”)的div移出屏幕,并在拖放后将可拖动元素放置在相应的插槽中

现在,当所有拖拉表都在它们的插槽中时,我通过添加一个类将包含这些插槽的div向左移动,然后设置拖拉表的位置以匹配这些插槽:

$("#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“elements”上方显示一个视频。问题是div‘elements’仍在占用空间……所以我想把它移出屏幕。我尝试过使用绝对定位来实现这一点,但是拖动的元素没有设置到它们的插槽,它们直接出现在插槽上方的视频上

我还尝试将添加到div“slots”的类“left”更改为:

#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
基本上,我只是想减少视频和拖动元素之间的垂直空间,通过使用elements div来占用空间


查看fiddle at

在显示视频之前,您可以尝试隐藏包含拖动元素的父div:

$('#elements').hide();


您可以尝试调整
#拖放
div的
页边距顶部

$('#drag_drop').css('margin-top', '-70px');

在显示视频之前,您可以尝试隐藏包含拖动元素的父div:

$('#elements').hide();


您可以尝试调整
#拖放
div的
页边距顶部

$('#drag_drop').css('margin-top', '-70px');

尝试过..正如你在小提琴中看到的那样,这也隐藏了拖动的元素。是的,这很有效…还测试了将“left”类更改为该类,并做了相同的操作:#slots.left{position:relative;top:-70px;left:-190px;}尝试过..正如你在小提琴中看到的那样,这也隐藏了拖动的元素。是的,这是可行的…还测试了将“left”类更改为该类,并执行相同的操作:#slots.left{position:relative;top:-70px;left:-190px;}