如果我有2个div,DIV A和div b(假设两者都是绝对定位的)..我想要它,以便当DIV A的位置改变时,DIV B(这是div A的“孩子”,事件虽然它们是两个独立的div,而不是嵌套的),但是div B的位置改变了与div A相同的偏移量。但是如果我移动DIV B的位置......那么只有DIV B moveS和DIV A的位置不受影响。
改变位置将是通过拖动div来举例。
如果可能的话,我希望能够做到这一点,以便我可以拥有第3个div,并说它是div或B的“孩子”,同样的动作也适用。 (例如。如果div C和B是div A的子项,则移动div A将更新DIV C和B的位置)
练习2。如果div C是DIV B的子代,那么移动DIVA,DIV B和C将被更新。如果仅移动DIVB,则将更新DIV B和C.如果移动DIV C,则只更新DIV C.
更新: Hussein的代码与我想要的类似,但问题是类的div .b碰巧总是回到原来的位置而不是保留它的当前位置并将偏移添加为.a移动。
答案 0 :(得分:0)
假设您正在使用jQuery ui draggable()
,请使用拖动事件来实现此目的。您可能需要进一步修改此代码以满足您的需求,但下面的示例可以让您走上正确的轨道。
$('.a, .b').draggable({
drag: function(event, ui) {
$('.a').css({
top: ui.offset.top + 'px',
left: ui.offset.left + 100 + 'px'
})
}
});