Drag the list items to change their order.
var $ph, aixsY; $('.draggable').hqyDraggable({ proxy: 'clone', onStartDrag: function (event, target) { $ph = $(this).clone().addClass('active'); $(this).hide().before($ph); }, onStopDrag: function () { $ph.after(this); $ph.remove(); $ph = null; $(this).show(); } }).hqyDroppable({ onDragEnter: function () { axisY = 0; }, onDragOver: function (event, dragElement) { if (event.data.top > axisY) { $(this).after($ph); } else { $(this).before($ph); } axisY = event.data.top; } });
<style type="text/css"> .draggable{ height: 60px; width: 320px; line-height: 60px; text-align: center; color: #fff; font-size: 24px; margin-bottom: 10px; z-index: 10; } .active{ opacity: 0.4; } </style> <div class="draggable bg-blue">index 1</div> <div class="draggable bg-red">index 2</div> <div class="draggable bg-orange">index 3</div> <div class="draggable bg-green">index 4</div> <div class="draggable bg-pink">index 5</div> <div class="draggable bg-blue">index 6</div> <div class="draggable bg-red">index 7</div> <div class="draggable bg-orange">index 8</div> <div class="draggable bg-green">index 9</div> <div class="draggable bg-pink">index 10</div>