获取可拖动对象相对于div的位置

时间:2015-09-26 11:51:40

标签: javascript jquery html5 css3 drag

这是jsFiddle,我有一个足球场,用户将在两个五人队中划分10名球员。我想知道他是在左侧还是在夜侧拖动一名球员(假设场地的中心线是边界)。

这里是js代码:

$(".dragNdrop").draggable({
  drag: function(){
    var offset = $(this).offset();
    var xPos = offset.left;
    var yPos = offset.top;
      console.log('x: ' + xPos);
      console.log($('#footballField').width());
    }
});

我也尝试过使用position()offset(),但我似乎找不到合适的公式来做这件事。

那么,我如何找到球员位于div的左侧还是右侧?

相关问题:How to get the position of a draggable object

1 个答案:

答案 0 :(得分:1)

如果 $('#footballField')。width()是字段的宽度,您可以检查 dragNdrop的xPos element小于或高于 footballField left +他的宽度除以2:

$(".dragNdrop").draggable({
    drag: function(){
        var offset = $(this).offset();
        var xPos = offset.left;
        var yPos = offset.top;
        console.log('x: ' + xPos);
        //console.log('y: ' + yPos);
        console.log('offset: ' + $('#footballField').offset().left);
        var fieldLeft = $('#footballField').offset().left;
        console.log($('#footballField').width());
        if(xPos < fieldLeft + $('#footballField').width()/2){
             console.log('I am at left');
        }else{
            console.log('I am at right');
        }

    }
});