Ich versuche eine Drag & Drop-Funktion zu entwickeln. Das Drop-Div-Element wird durch CSS transformiert. Der ziehbare Div wird nicht auf die angezeigte Box fallen gelassen, er fällt einfach links neben und in der Mitte der Box, fällt aber nicht auf den rechten Teil der Box.Kann nicht auf alle Bereiche eines divs fallen, das von CSS umgewandelt wurde
Hier ist eine einfache Version des Code der Seite, sowie eine jsFiddle: https://jsfiddle.net/t5e2qvgt/8/
$("#draggable").draggable();
$("#droppable").droppable({
drop: function(event, ui) {
$(this)
.addClass("ui-state-highlight")
.find("span")
.html("Dropped!");
}
});
#draggable {
width: 50px;
height: 50px;
padding: 0.5em;
float: left;
margin: 10px 10px 10px 0;
}
#droppable {
width: 150px;
height: 150px;
padding: 0.5em;
float: right;
margin: 10px;
}
.droptarget {
-webkit-transform-origin: 100% 100%;
transform-origin: 100% 100%;
-moz-transform: skew(45deg, 0);
-ms-transform: skew(45deg, 0);
-o-transform: skew(45deg, 0);
-webkit-transform: skew(45deg, 0);
transform: skew(45deg, 0);
}
.droptargeticon {
-moz-transform: skew(-45deg, 0);
-ms-transform: skew(-45deg, 0);
-o-transform: skew(-45deg, 0);
-webkit-transform: skew(-45deg, 0);
transform: skew(-45deg, 0);
}
<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<div id="droppable" class="droptarget ui-widget-header">
<div class="droptargeticon">
<p>Drop here</p>
</div>
</div>
<div id="draggable" class="ui-widget-content">
<p>Drag</p>
</div>
Nach der Skew-Transformation erkennt jquery-ui die contet-Box als Box mit der ursprünglichen Breite und Höhe und ohne Transformation, aber beginnend mit der oberen linken Ecke der nun transformierten Box. –