【发布时间】:2017-08-29 05:45:32
【问题描述】:
页面的想法是拖动、旋转和调整对象的大小。这一切都很好,但后来我遇到了一个问题,如果我将对象拖到最底部(对象包含在画布中)。它创建一个空白,如所附照片所示。除了底部之外,其他方面都没有问题。有什么建议?谢谢!
这里是jquery draggable的初始化:
$(".object-clone.object-valves,.object-clone.object-pumps").draggable({
containment: "#canvas-repository",
stack: ".object-clone",
cursor: "move",
start: function (event, ui) {
$globalSaveState = false;
if ($globalResizeMode) {
$(ui.helper).css('z-index', '1010');
}
},
stop: function (event, ui) {
var $objectPosition = ui.helper.offset();
var $dblPositionX = $objectPosition.left;
var $dblPositionY = $objectPosition.top;
var $canvasPosition = $("#canvas-repository").offset();
var $dblCanvasPositionY = $canvasPosition.top;
var $intObjectCount = $(ui.helper).data('item');
var $dblCanvasWidth = $('#canvas-repository').width();
var $dblCanvasHeight = $('#canvas-repository').height();
var $dblObjectCloneSize = $dblCanvasWidth * $dblArea;
var $dblArea = $(ui.helper).attr('data-area');
$dblPositionY = $dblPositionY - $dblCanvasPositionY;
var $percentagePositionX = ($dblPositionX) / $dblCanvasWidth;
var $percentagePositionY = ($dblPositionY) / $dblCanvasHeight;
var $roundedPercentagePositionX = Math.round($percentagePositionX * 100) / 100;
var $roundedPercentagePositionY = Math.round($percentagePositionY * 100) / 100;
$(ui.helper).attr("data-vertical", $roundedPercentagePositionX).attr("data-horizontal", $roundedPercentagePositionY).css('width', $dblObjectCloneSize).css('height', $dblObjectCloneSize).css('left', ($roundedPercentagePositionX * 100) + "%").css('top', ($roundedPercentagePositionY * 100) + "vh");
}
});
这是带有空白的图像,当对象位于底部时
这是没有空格的图像,当对象位于 中心或其他边,不可滚动且没有空格
【问题讨论】:
-
我看到你使用可拖动和调整大小,所以可能是容器上的 CSS 问题
overflow:visible。 -
@Core972 你能向我解释一下吗?非常感谢
-
如果红盔男子的图片高于容器
-
@Core972 谢谢你的好意。我想到了。它与可拖动无关。
标签: javascript jquery jquery-ui jquery-ui-draggable