Если вы уже правильно добавили библиотеку JQuery & JqueryUI, вы должны сделать что-то вроде этого:
Вам нужно подождать, пока DOM будет готов применить ваш код, или просто поместить перетаскиваемую часть после элемент:
HTML:
<div class="draggable" style="background:red;border: 1px solid black; width: 50px; height: 50px; position: absolute; top: 0px; left: 0px;">asdasd</div>
JS:
$(function () {
$(".draggable").draggable();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script>
$(function () {
$(".draggable").draggable();
});
</script>
<div class="draggable" style="background:orange;border: 1px solid black; padding: 10px 20px; position: absolute; cursor:move;border-radius: 10px">
DRAG ME
</div>
Так что в вашем случае это будет так:
$(function() {
$("#basket").sortable({
revert: true
});
$(".list-item").draggable({
connectToSortable: "#basket",
helper: "clone",
revert: "invalid"
});
$("ul, li").disableSelection();
});
body {
color: orange;
}
.box {
float: left;
}
ul {
background: #fff;
width: 200px;
height:200px;
padding: 0;
color:#343434;
}
li {
background: #efefef;
list-style: none;
padding: 5px;
cursor: move;
}
li:hover {
background: orange;
}
#basket {
background: yellow;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<div class="box">
<h2>List</h2>
<ul id="list">
<li class="list-item" class="ui-state-highlight">Product 1</li>
<li class="list-item" class="ui-state-highlight">Product 2</li>
<li class="list-item" class="ui-state-highlight">Product 3</li>
<li class="list-item" class="ui-state-highlight">Product 4</li>
<li class="list-item" class="ui-state-highlight">Product 5</li>
<li class="list-item" class="ui-state-highlight">Product 6</li>
</ul>
</div>
<div class="box">
<h2>Basket</h2>
<ul id="basket">
</ul>
</div>