2012-06-13 21 views
0

阿羅哈全部!!如何獲得xy座標但不是從窗口瀏覽器開始,而是從div開始?

我在這裏有一個問題...我在這裏使用jquery..n使用visual studio 2008 ..我需要找到一個圖像的座標後被拖拽一個div。但我得到的是座標計數從格外..我想它從內部計數..

請...任何人?

這裏是我的代碼:

$('#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); 
    } 

    }); 
+0

你總是可以減去偏移DIV從圖像位置相對偏移 –

+0

OK,可以你給我示例代碼如何減去? – catcool

回答

0

您可以使用position()

的.POSITION()方法允許我們檢索元素相對於偏移父的當前位置。

var pos = $(this).position(); 
+0

對不起,但它不起作用 – catcool

0

如果#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 lefttop#dragThis2

相關問題