JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<div id="container">
<div>This Snaps to top left</div>
<br/>
<div></div>
drag position: <span id="position" ></span>
<br/>
<div id="1" class="droppable ">#1</div>
<div id="2" class="droppable ">#2
<div class="draggable" style="margin-top:40px;">list 1</div>
<div class="draggable" style="margin-top:80px;">list 2</div>
<div class="draggable" style="margin-top:120px; width:110px">list 3</div>
</div>
<div id="3" class="droppable ">#3</div>
<div id="drag" class="draggable">Drag Me</div>
</div>
CSS
.droppable {
float: left;
background: grey;
width: 75px;
height: 200px;
margin: 60px 2px;
}
.draggable {
position: absolute;
left: 25px;
background: yellow;
padding:10px;
margin-top:10px;
}
JavaScript
$(document).ready(function () {
$(function () {
$(".draggable").draggable({
drag: function (event, ui) {
var currentPos = $(this).position();
$("#position").text("CURRENT: \nLeft: " + currentPos.left + "\nTop: " + currentPos.top);
}
});
});
$(".droppable").droppable({
drop: function (event, ui) {
accept: ".draggable"
activeClass: "ui-state-hover"
hoverClass: "ui-state-active"
$(ui.draggable).offset($(this).offset());
// $(ui.draggable).data('dropped', true);
//var count = $(this).length;
var currentPos = $(this).position();
$("#pos").text("CURRENT: \nLeft: " + currentPos.left + "\nTop: " + currentPos.top);
var count = $(this).length; //wrong child count or absolute not found/counted
var count = $(this).children.length; //wrong child count or absolute not found/counted
// alert(count);
//this shoud show child count like .length - broken
// var countChild = document.elementFromPoint(currentPos.top, currentPos.left);
// alert(countChild);
// console.log(countChild);
}
});
});