可拖动和偏移坐标

时间:2011-09-28 16:53:11

标签: jquery jquery-ui

我一直试图获得一个可拖动的盒子的最终偏移坐标,但它没有显示最终的x和最终的xmax,并且y轴也是如此。我调试了它,它显示了问题来自于输入变量finalxmPos并将文本附加到id为finalXm的列表中,因为如果我删除这两行它可以工作,但我不会得到最终的xmin和xmax只是xmin。代码就在这里http://jsfiddle.net/DGbT3/133/。 任何帮助将不胜感激..

1 个答案:

答案 0 :(得分:0)

工作示例:http://jsfiddle.net/DGbT3/137/

你刚刚遇到了一些套管错误。偏移中的o应该是大写的。对Width()的调用也应该是width()

查看评论

  $('#dragThis').draggable(
        {
            containment: $('body'),
            drag: function(){
                var offset = $(this).offset();
                var xPos = offset.left;
                var xmPos = offset.left + $('#dragThis').outerWidth();
                var yPos = offset.top;
                var ymPos = offset.top + $('#dragThis').outerHeight();
                $('#posX').text('x: ' + xPos);
                 $('#posmX').text('xm: ' + xmPos);
                $('#posY').text('y: ' + yPos);
                $('#posmY').text('ym: ' + ymPos);
            },
            stop: function(){
                var finalOffset = $(this).offset();
                var finalxPos = finalOffset.left;
                var finalxmPos = finalOffset.left + $('#dragThis').width(); //needed to uppercase o in finalOffset
//also changed Width to width()
                var finalyPos = finalOffset.top;

        $('#finalX').text('Final X: ' + finalxPos);
        $('#finalXm').text('Final Xmax: ' + finalxmPos);
        $('#finalY').text('Final Y: ' + finalyPos);
            }
        });

    $('#dropHere').droppable(
        {
            accept: '#dragThis',
            over : function(){
                $(this).animate({'border-width' : '5px',
                                 'border-color' : '#0f0'
                                }, 500);
                $('#dragThis').draggable('option','containment',$(this));
            }
        });