gpt4 book ai didi

javascript - 如何将可拖动元素放入特定位置

转载 作者:行者123 更新时间:2023-11-28 00:58:12 25 4
gpt4 key购买 nike

我正在尝试将我的 JQuery UIdraggable 容器移动到 div(id="frame") 中,但它正在网页中到处拖动。那么我怎样才能将我的可拖动容器移动到特定的 div(id="frame")。所以请给我一个解决这个问题的方法。我正在尝试制作自己的自定义产品设计器插件,这是我的第一个功能。这是我的代码:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Dragg</title>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css"/>

<style>
#draggable {
overflow:hidden;
width: 100px;
height: 100px;
padding: 0.5em;
background-color: transparent;
}
#frame {
overflow:hidden;
width: 350px;
height: 500px;
padding: 0.5em;
border : 1px solid black;
}
</style>
</head>
<body>
<input type = "file" id="inputFileToLoadOuter">
<input type = "button" onclick = "loadImageFileAsURL(1)" value = "LoadOuterImage">

<input type = "file" id="inputFileToLoadInner">
<input type = "button" onclick = "loadImageFileAsURL(2)" value = "LoadInnerImage">

<div id="frame">
<img src="" id="OuterImg" style="width: 100% ; height:100%" />
</div>

<div id="draggable">
<img src="" id="InnerImg" style="width: 100% ; height:100%" />
</div>

<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<script>
$( function() {
$( "#draggable" ).resizable().draggable();
} );

function loadImageFileAsURL(pos)
{
if(pos == 1){
var filesSelected = document.getElementById("inputFileToLoadOuter").files;
}else{
var filesSelected = document.getElementById("inputFileToLoadInner").files;
}
if (filesSelected.length > 0)
{
var fileToLoad = filesSelected[0];

if (fileToLoad.type.match("image.*"))
{
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent)
{
if(pos == 1){
var imageLoaded = document.getElementById("OuterImg");
}else{
var imageLoaded = document.getElementById("InnerImg");
}
imageLoaded.src = fileLoadedEvent.target.result;
};
fileReader.readAsDataURL(fileToLoad);
}
}
}
</script>
</body>
</html>

笨蛋:https://plnkr.co/OubL3Uw0G7gi4d01yx0V

最佳答案

将您的#draggable 对象修改为此

$("#draggable").resizable().draggable({
revert: "invalid",
});

并添加这个让你#frame droppable

$('#frame').droppable({
accept: '#draggable',
})

阅读关于此的 jqueryui 文档,您可以用它实现更多。看这里https://jqueryui.com/droppable/#photo-manager

关于javascript - 如何将可拖动元素放入特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43670592/

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