Javascript 拖动时,将图像堆叠在彼此的顶部

Javascript 拖动时,将图像堆叠在彼此的顶部,javascript,jquery,Javascript,Jquery,我有一个网格图像列表,可以按顺序拖动和排序。通过按住CTRL键并单击,可以选择并拖动多个项目。问题是,当拖动3个以上的图像时,它会变得笨重。拖动时是否有方法堆叠这些图像 HTML 演示: 更新: 我已经更新了raw插件,使其能够堆叠图像。问题是它在掉落时无法正确放置它们。它很笨重 演示: var masterEle=$('..+settings.selectedClass.eq(0.position(); masterLeft=masterEle.left, masterTop=masterEl

我有一个网格图像列表,可以按顺序拖动和排序。通过按住CTRL键并单击,可以选择并拖动多个项目。问题是,当拖动3个以上的图像时,它会变得笨重。拖动时是否有方法堆叠这些图像

HTML

演示:

更新:

我已经更新了raw插件,使其能够堆叠图像。问题是它在掉落时无法正确放置它们。它很笨重

演示:

var masterEle=$('..+settings.selectedClass.eq(0.position();
masterLeft=masterEle.left,
masterTop=masterEle.top;
var siblingTop=masterTop,siblingLeft=masterLeft;
//修复了一起使用prototype.js和jquery保持兼容性的问题
$.fn.reverse=Array.prototype._reverse | | Array.prototype.reverse
var高度=0;
$('..+settings.selectedClass,父级).filter(函数(){
返回$(this).data('i')myIndex;
}).reverse().each(函数()){
高度=$(this.outerHeight();
siblingTop=siblingTop+5;
siblingLeft=siblingLeft+5;
zIndexSet=zIndexSet-5;
$(this.css)({
左:兄弟姐妹左,
top:兄弟姐妹top,
位置:'绝对',
zIndex:zindexet,
宽度:ui.item.width()
});
});

我想你在找这个-@ArvindDhakad谢谢,我试试看。在最新更新版本的底部有一个
jQuery(函数($){$('ul').multisortable();})@ArvindDhakad是一个很棒的插件。我已经对它进行了更新,使其具有堆栈效果。我的问题是它不能正确地删除图像,它有点笨重,我想你在找这个-@ArvindDhakad谢谢,我会试试的。在最新更新版本的底部有一个
jQuery(函数($){$('ul').multisortable();})@ArvindDhakad是一个很棒的插件。我已经对它进行了更新,使其具有堆栈效果。我的问题是,它不会正确地删除图像,它有点笨重
<ul>
    <li><img src="http://via.placeholder.com/100x100"/></li>
    <li><img src="http://via.placeholder.com/100x100"/></li>
    <li><img src="http://via.placeholder.com/100x100"/></li>
    <li><img src="http://via.placeholder.com/100x100"/></li>
    // more li items
</ul>
jQuery(function($){
   $('ul').multisortable();
});
        var masterEle = $('.' + settings.selectedClass).eq(0).position();
            masterLeft = masterEle.left,
            masterTop = masterEle.top;

        var siblingTop = masterTop, siblingLeft = masterLeft;

        // fix to keep compatibility using prototype.js and jquery together
        $.fn.reverse = Array.prototype._reverse || Array.prototype.reverse

        var height = 0;
        $('.' + settings.selectedClass, parent).filter(function() {
            return $(this).data('i') < myIndex || $(this).data('i') > myIndex ;
        }).reverse().each(function() {
            height = $(this).outerHeight();
            siblingTop = siblingTop+5;
            siblingLeft = siblingLeft+5;
            zIndexSet = zIndexSet-5;
            $(this).css({
                left: siblingLeft,
                top: siblingTop,
                position: 'absolute',
                zIndex: zIndexSet,
                width: ui.item.width()
            });
        });