Javascript 在容器div的整个空间中拖动2个div

Javascript 在容器div的整个空间中拖动2个div,javascript,html,css,Javascript,Html,Css,我想在一个更大的div中拖动2个div。Test1工作得很好,但是Test2不能在Test1上拖动。问题是Test2的值left=0被设置为其当前相对位置。因此Test2的left=0位于Test1的边缘。这就是为什么我不能把它移过(左)原来的位置。我需要将该值设置为其父div(id=“ganz”)的绝对值left=0),这样我就可以在整个父div的Test1上拖动它。 我不知道该怎么做。你们能帮帮我吗 以下是小提琴演示: JS的原始来源:为什么不应用位置:绝对从一开始 document.ge

我想在一个更大的div中拖动2个div。Test1工作得很好,但是Test2不能在Test1上拖动。问题是Test2的值
left=0
被设置为其当前相对位置。因此Test2的
left=0
位于Test1的边缘。这就是为什么我不能把它移过(左)原来的位置。我需要将该值设置为其父div(
id=“ganz”
)的
绝对值
left=0
),这样我就可以在整个父div的Test1上拖动它。 我不知道该怎么做。你们能帮帮我吗

以下是小提琴演示:


JS的原始来源:

为什么不应用
位置:绝对从一开始

document.getElementById("rechtsheader").style.position = "absolute";

我已经直接在您的代码笔中进行了更改,它可以正常工作。解决方案是提供

document.getElementById("rechtsheader").style.position = "absolute";
但也要将
left
top
内联添加到div元素中。没有内联声明,它总是将
left
top
设置回
top:20px left:20px
,因为它似乎无法识别css中的当前值。这就是元素跳回到左上角的原因,正如前面提到的@bru17的注释一样

<div id="rechtsheader" style="top:0px; left:105px;">Test2</div>
Test2

代码段已更新。

hm,如果我这样做,两个div重叠,我必须设置为“rechtsheader”左:60px;他们在一起。如果我想拖动它,它现在首先跳回到左上角。这不是一个好的可用性解决方案。重要的是,它应该显示在Test1之外,这是它拖动它的起点。