父和子DIV不是嵌套的位置更改jquery javascript问题

时间:2011-04-29 22:24:17

标签: javascript jquery html

如果我有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移动。

1 个答案:

答案 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'
        })
    }
});

检查http://jsfiddle.net/7tDjc/

处的工作示例