调整大小的元素的tak实际偏移量

时间:2018-10-04 13:12:36

标签: javascript jquery jquery-ui

问题是我需要从调整大小后的元素实际偏移。这意味着每当我调整元素的大小(它是简单的彩色条并可以调整大小)并且需要在调整大小后立即读取它的左偏移量。

当我使用jquery-ui中的stop事件时,将显示先前的位置。

$('.shop-' + shopID).resizable({
            stop: function (event, ui) {

                var leftMargin = $('.hour-6').offset().left+20;
                var currentPosition = $('.shop-1').offset().left; //when I print this previous offset is shown.
            },
            grid: grid,
            animate: true,
            handles: 'e, w'
        });
    });

这是脚本片段

示例开始位置为50像素,当我将其向左移动20像素(现在为30像素)时,将打印50像素。当我再次将其向左移动20像素(现在为10像素)时,将打印30像素。因此,这不是实际的偏移量/位置。

我也尝试过使用possition,它的工作原理完全相同。 甚至“调整大小”选项也会显示以前的偏移量/位置。

1 个答案:

答案 0 :(得分:0)

我需要更改两件事: 1)我需要打电话给ui possition 2)设置超时

            setTimeout(function () {
                leftOffset = ui.position.left;
                rightOffset = leftOffset + ui.size.width;
                if (leftOffset < leftMargin) {
                    console.log('przekroczono');
                    //$('.shop-' + shopID).width(60);
                    console.log($('.shop-' + shopID).css('left', leftMargin +'px'));
                }

            }, 500);