JSFiddle - React, Tailwind, and code Playground
HTML
<div class="container">
<div class="draggable">
1
</div>
<div class="draggable">2
</div>
<div class="draggable">3
</div>
<div class="draggable">4
</div>
<div class="draggable">5
</div>
<div class="draggable">6
</div>
</div>
<div class="container">
<div class="draggable">
1
</div>
<div class="draggable">2
</div>
<div class="draggable">3
</div>
<div class="draggable">4
</div>
<div class="draggable">5
</div>
<div class="draggable">6
</div>
</div>
<div class="container">
<div class="draggable">
1
</div>
<div class="draggable">2
</div>
<div class="draggable">3
</div>
<div class="draggable">4
</div>
<div class="draggable">5
</div>
<div class="draggable">6
</div>
</div>
<div class="container">
<div class="draggable">
1
</div>
<div class="draggable">2
</div>
<div class="draggable">3
</div>
<div class="draggable">4
</div>
<div class="draggable">5
</div>
<div class="draggable">6
</div>
</div>
<div class="droppables">
<div class="droppable">
Drop On Me!
</div>
<div class="droppable">
Drop On Me!
</div>
<div class="droppable">
Drop On Me!
</div>
<div class="droppable">
Drop On Me!
</div>
</div>
<div id="trashBin">
</div>
CSS
#trashBin
{
position: fixed;
right: 0px;
bottom: 0;
background: #888;
height: 100px;
width: 100px;
clear: both;
list-style: none;
-moz-border-radius-topleft: 10px;
-webkit-border-top-left-radius: 10px;
border-top-left-radius: 10px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
background-color: #777777;
background-image: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#777777));
background-image: -webkit-linear-gradient(top, #444444, #777777);
background-image: -moz-linear-gradient(top, #444444, #777777);
background-image: -ms-linear-gradient(top, #444444, #777777);
background-image: -o-linear-gradient(top, #444444, #777777);
background-image: linear-gradient(to bottom, #444444, #777777);
}
.trashHover
{
background-color: #777777;
background-image: -webkit-gradient(linear, left top, left bottom, from(#777777), to(#444444));
background-image: -webkit-linear-gradient(top, #777777, #444444);
background-image: -moz-linear-gradient(top, #777777, #444444);
background-image: -ms-linear-gradient(top, #777777, #444444);
background-image: -o-linear-gradient(top, #777777, #444444);
background-image: linear-gradient(to bottom, #777777, #444444);
}
.draggable
{
cursor: default;
z-index: 5;
width: 150px;
height: 24px;
background: white;
border: 1px solid #000;
text-align: center;
}
.container
{
vertical-align: top;
display: inline-block;
width: 154px;
margin: 10px;
}
.droppables
{
position: absolute;
bottom: -100px;
left: 10px;
}
.droppable
{
position: relative;
width: 150px;
height: 24px;
background: #821015;
color: white;
float: left;
text-align: center;
margin: 10px;
}
html{
}
JavaScript
$('.draggable').draggable({
revert: "invalid",
cursor: "default",
cursorAt: {
top: 12,
left: 75
},
helper: "clone",
start: function(event, ui) {
$(this).css({
"opacity": 0.3,
"filter": "alpha(opacity=30)"
});
},
stop: function(event, ui) {
$(this).css({
"opacity": 1,
"filter": "alpha(opacity=100)"
});
}
});
$("#trashBin").droppable({
hoverClass: "trashHover",
drop: function(event, ui) {
$(this).append(ui.draggable);
$(ui.draggable).css({
'left': "-25px",
"top": "34px",
"position": "relative"
});
ui.draggable.fadeOut(600);
}
});
$(".droppable").droppable({
hoverClass: "trashHover",
drop: function(event, ui) {
$(this).append(ui.draggable);
$(ui.draggable).css({
'left': "0px",
"top": "0px",
"position": "absolute"
});
}
});