JQuery 根据 parent div 从 div 获得左侧和顶部位置
JQuery get left and top positions from div based on parent div
我在另一个 div 中有一个可拖动的 divs,需要从 child div.
获取左侧和顶部位置
<div id="parent">
<div id="child1" style="position:absolute;"></div>
<div id="child1" style="position:absolute;"></div>
</div>
目前我根据第一个位置从 childs 获得位置:
$('#iframe_main').contents().find('.button".$key."').draggable({
containment:'#parent',
scroll: false,
drag: function(event) {
o = $('#iframe_main').contents().find('.child').offset();
p = $('#iframe_main').contents().find('.child').position();
}});
因此,如果我将 child 放在 #parent 的右下角并将其移回左上角,我会得到负值。
我想要的是 child divs 的左上角位置,基于 #parent div.
您需要计算两个元素的位置。请看下面。
这是您可以制作的示例。
$('#iframe_main').contents().find('.button".$key."').draggable({
containment:'#parent',
scroll: false,
drag: function(event) {
o = $('#iframe_main').contents().find('.child').offset();
p = $('#iframe_main').contents().find('#parent').offset();
childtop = o.top - p.top;
childleft = o.left - p.left;
console.log(childtop + " " + childleft);
}});
我在另一个 div 中有一个可拖动的 divs,需要从 child div.
获取左侧和顶部位置<div id="parent">
<div id="child1" style="position:absolute;"></div>
<div id="child1" style="position:absolute;"></div>
</div>
目前我根据第一个位置从 childs 获得位置:
$('#iframe_main').contents().find('.button".$key."').draggable({
containment:'#parent',
scroll: false,
drag: function(event) {
o = $('#iframe_main').contents().find('.child').offset();
p = $('#iframe_main').contents().find('.child').position();
}});
因此,如果我将 child 放在 #parent 的右下角并将其移回左上角,我会得到负值。
我想要的是 child divs 的左上角位置,基于 #parent div.
您需要计算两个元素的位置。请看下面。
这是您可以制作的示例。
$('#iframe_main').contents().find('.button".$key."').draggable({
containment:'#parent',
scroll: false,
drag: function(event) {
o = $('#iframe_main').contents().find('.child').offset();
p = $('#iframe_main').contents().find('#parent').offset();
childtop = o.top - p.top;
childleft = o.left - p.left;
console.log(childtop + " " + childleft);
}});