jquery可排序、浮动和清除

jquery可排序、浮动和清除,jquery,css,css-float,jquery-ui-sortable,Jquery,Css,Css Float,Jquery Ui Sortable,因此,我这里有一个我正在尝试做的快速模型- 实时版本是使用div内部的缩略图完成的,这些缩略图具有不同的纵横比。所以宽度总是100px,但是高度可以是任意的(或多或少) 不管怎么说,由于这个原因,使用float,有时它们不能很好地适应一条线上的5个元素,有些元素在其他元素之下,所以它们或多或少在自己的线上,这使得它看起来很混乱 那么…如何进行排序,以及在更新时,清除将始终很好地每行生成5个div?目前我正在做的是 $('#reorder div.x:nth-child(5n)').addClas

因此,我这里有一个我正在尝试做的快速模型-

实时版本是使用div内部的缩略图完成的,这些缩略图具有不同的纵横比。所以宽度总是100px,但是高度可以是任意的(或多或少)

不管怎么说,由于这个原因,使用float,有时它们不能很好地适应一条线上的5个元素,有些元素在其他元素之下,所以它们或多或少在自己的线上,这使得它看起来很混乱

那么…如何进行排序,以及在更新时,清除将始终很好地每行生成5个div?目前我正在做的是

$('#reorder div.x:nth-child(5n)').addClass('clear green');
。。。没有我希望的那样工作


编辑:所以我认为问题在于(5n)部分,比如说当我拖动项目1时,在5到6之间,在拖动过程中,第一行缺少2个块,然后当我放下它时,第一行缺少1个块。这可能与我正在拖动的那个克隆人有关,它仍然在那里,在那里记录结果、想法?

我认为这没关系。只需确保在x div重新排序后添加绿色类即可。看这个eq不识别n,请使用:n子项

$('#reorder').children('div.x:nth-child(5n + 1)').addClass('clear green');

我想这没关系。只需确保在x div重新排序后添加绿色类即可。看这个eq不识别n,请使用:n子项

$('#reorder').children('div.x:nth-child(5n + 1)').addClass('clear green');

所以答案似乎是

$('#reorder').sortable({
        placeholder: 'placeholder',
        sort: function(event, ui) {
            $('#reorder div').removeClass('clear green');
            $('#reorder div.x:not(.ui-sortable-helper)').addClass('y');
            $('#reorder div.placeholder').addClass('y');
            $('#reorder div.y:nth-child(5n + 1)').addClass('clear green');
        },
        update: function(event, ui) {
            $('#reorder div.x').removeClass('y');
            $('#reorder div.x').removeClass('clear green');
            $('#reorder div.x:nth-child(5n + 1)').addClass('clear green');
        }
    });
    $('.reorder').disableSelection();
});

它在占位符和帮助器方面存在问题,而帮助器由于被拖来拖去而仍然存在。

因此答案似乎是肯定的

$('#reorder').sortable({
        placeholder: 'placeholder',
        sort: function(event, ui) {
            $('#reorder div').removeClass('clear green');
            $('#reorder div.x:not(.ui-sortable-helper)').addClass('y');
            $('#reorder div.placeholder').addClass('y');
            $('#reorder div.y:nth-child(5n + 1)').addClass('clear green');
        },
        update: function(event, ui) {
            $('#reorder div.x').removeClass('y');
            $('#reorder div.x').removeClass('clear green');
            $('#reorder div.x:nth-child(5n + 1)').addClass('clear green');
        }
    });
    $('.reorder').disableSelection();
});

它在占位符和被拖来拖去的帮助器方面存在问题。

Hmm尝试后,它根本不起作用-:(嗯尝试后,它根本不起作用-)(