Jquery 如何获取xy坐标,而不是从窗口浏览器开始,而是从div开始?
大家好 我这里有一个问题…我在这里使用jquery..n使用visual studio 2008..n在被拖放到div中后,我需要找到图像的坐标。但我得到的是坐标从div外计数…我希望它从div内计数 请…任何人 这是我的密码:Jquery 如何获取xy坐标,而不是从窗口浏览器开始,而是从div开始?,jquery,Jquery,大家好 我这里有一个问题…我在这里使用jquery..n使用visual studio 2008..n在被拖放到div中后,我需要找到图像的坐标。但我得到的是坐标从div外计数…我希望它从div内计数 请…任何人 这是我的密码: $('#dragThis').draggable({ cursor: 'move', // sets the cursor apperance containment: '#dragThis2', drag: functio
$('#dragThis').draggable({
cursor: 'move', // sets the cursor apperance
containment: '#dragThis2',
drag: function() {
var offset = $(this).offset();
var xPos = Math.abs(offset.left);
var yPos = Math.abs(offset.top);
$('#posX').text('x: ' + xPos);
$('#posY').text('y: ' + yPos);
},
stop: function(event, ui) {
// Show dropped position.
var Startpos = $("#dragThis").position();
var Stoppos = $(this).position();
$("#dragThis2").val((Stoppos.left - Startpos.left));
var left = Math.abs(Stoppos.left);
var top = Math.abs(Stoppos.top);
$('#posX').text('left: ' + left);
$('#posY').text('top: ' + top);
}
});
您可以使用:
.position方法允许我们检索元素相对于偏移父元素的当前位置
试试这个。
此函数执行精确的任务。如果dragThis2是您的父div,则
var parentLeft = $("#dragThis2").position().left;
var parentTop = $("#dragThis2").position().top;
var left = Math.abs(Stoppos.left - parentLeft);
var top = Math.abs(Stoppos.top - parentTop);
$('#posX').text('left: ' + left);
$('#posY').text('top: ' + top);
将为您提供相对于父div drag的左侧和顶部。此2您始终可以将div的偏移量从图像位置减去相对偏移量。OK,您可以给我如何减去的示例代码吗?
var parentLeft = $("#dragThis2").position().left;
var parentTop = $("#dragThis2").position().top;
var left = Math.abs(Stoppos.left - parentLeft);
var top = Math.abs(Stoppos.top - parentTop);
$('#posX').text('left: ' + left);
$('#posY').text('top: ' + top);