gpt4 book ai didi

jquery - 可调整大小和可拖动在一起不尊重遏制

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:55 25 4
gpt4 key购买 nike

我想要一个可拖动且可调整大小的图像(从所有 handle ),但是当从左侧 handle 之一调整图像大小时,拖动图像时不再考虑包含(例如:图像可以从容器中取出)。为什么会发生这种情况,我该怎么办?

代码在下面,这里是 jsfiddle:http://jsfiddle.net/F4c8p/

    <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
$(function() {
$( "#draggable" ).draggable({
containment: '#container'
});
$('#resizable').resizable({
containment: '#container',
handles: 'all'
});
});
</script>
</head>
<body>
<div style="width: 800px; height: 600px; border: 1px solid black" id="container">
<div id="draggable" style="display:inline-block">
<img id="resizable" src="http://www.extremetech.com/wp-content/uploads/2013/05/image-1.jpg"/>
</div>
</div>
</body>
</html>

最佳答案

发生的事情是,当您在除右下角以外的任何地方调整大小时,拖动的山墙位置不再与可调整大小的图像对齐。所以我添加了一些代码来将拖动山墙和图像对齐。

一旦图像被拖动,它似乎在重新调整大小时失去了它的包容。就像您将图像缩小,然后将图像移到右下角并展开它,就不再存在限制。但是这种行为也可以在您的原始 fiddle 中重现。

$(function() {

$( ".draggable" ).draggable({
containment: '#container'
});

$('#resizable').resizable({
containment: '#container',
handles: 'all',
stop: function(event, ui) {
var draggable = ui.helper.closest('.draggable');
var dragPos = draggable.position();
var left = dragPos.left + ui.position.left;
var top = dragPos.top + ui.position.top;
draggable.css('left',left+'px');
draggable.find('.ui-wrapper').css('left','auto');
draggable.css('top',top+'px');
draggable.find('.ui-wrapper').css('top','auto');
}
});
});

例子

http://jsfiddle.net/trevordowdle/F4c8p/2/

关于jquery - 可调整大小和可拖动在一起不尊重遏制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20459027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com