Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取元素在Javascript中的位置_Javascript_Jquery_Position_Jsplumb_Interact.js - Fatal编程技术网

获取元素在Javascript中的位置

获取元素在Javascript中的位置,javascript,jquery,position,jsplumb,interact.js,Javascript,Jquery,Position,Jsplumb,Interact.js,我正在尝试使用以下代码获取拖放到画布上的元素的位置 var x = $(".partitiondrop").position(); alert("Top position: " + x.top + "\nLeft position: " + x.left); 以上方法很好。我想知道是否可以以相同的方式获得右和底部位置,以便在需要检查哪些元素落在此元素内时,将区域绑定到元素。U始终可以将宽度添加到x.left位置,并将高度添加到x.top位置。右位置: var $partitiondrop =

我正在尝试使用以下代码获取拖放到画布上的元素的位置

var x = $(".partitiondrop").position();
alert("Top position: " + x.top + "\nLeft position: " + x.left);

以上方法很好。我想知道是否可以以相同的方式获得右和底部位置,以便在需要检查哪些元素落在此元素内时,将区域绑定到元素。

U始终可以将宽度添加到x.left位置,并将高度添加到x.top位置。

右位置:

var $partitiondrop = $(".partitiondrop");
var position = $partitiondrop.position();
position.bottom = position.top + $partitiondrop.height();
position.right = position.left + $partitiondrop.width();
alert("Top position: " + position.top + "\nLeft position: " + position.left + "\nBottom position: " + position.bottom + "\nRight position: " + position.right);
$(window).width() - ($('.partitiondrop').offset().left + $('.partitiondrop').width());
$(window).height() - $('.partitiondrop').offset().top;
底部位置:

$(window).width() - ($('.partitiondrop').offset().left + $('.partitiondrop').width());
$(window).height() - $('.partitiondrop').offset().top;

要通过ID获取任何元素的位置,可以执行以下操作

var elementID; //Already obtained via attr(id) method or so
var $element = $("#" + elementID);
var position = $element.position();
position.bottom = position.top + $element.height();
position.right = position.left + $element.width();

var top_position=position.top;
var left_position=position.left;
var bottom_position=position.bottom;
var right_position=position.right;

在Jquery中,可以使用以下代码完成

var p = $( "elementId" );
var position = p.position();
$( "p:last" ).text( "left: " + position.left + ", top: " + position.top );

抱歉,我认为这很明显,但sameone写了下面的帖子。getBoundingCientRect()谢谢。这很有帮助,谢谢你的回复