问题是我需要调整大小的元素的实际偏移量。这意味着每当我调整我的元素大小时(它是简单的彩色条形,可以调整大小),我需要在调整大小完成后立即读取它的左偏移量。
当我在jquery-ui中使用stop event时,会显示前面的位置。
$('.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'
});
});下面是脚本片段
示例开始位置是50px,当我将它向左移动20px(所以现在是30px)50px时打印。当我再次向左移动20px (现在是10px)30px时,会打印出来。所以它不是实际的偏移/位置。
我也尝试过使用possition,它的工作原理完全相同。甚至'resize‘选项也会显示之前的偏移量/位置。
发布于 2018-10-04 23:34:36
我需要更改两件事: 1)我需要调用ui位置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);https://stackoverflow.com/questions/52647642
复制相似问题