问题是我需要从调整大小后的元素实际偏移。这意味着每当我调整元素的大小(它是简单的彩色条并可以调整大小)并且需要在调整大小后立即读取它的左偏移量。
当我使用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,它的工作原理完全相同。 甚至“调整大小”选项也会显示以前的偏移量/位置。
答案 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);