jquery сортируется, плавает и очищает - PullRequest
1 голос
/ 12 августа 2011

Итак, у меня есть быстрый макет того, что я пытаюсь сделать - http://antimac.meloncreative.co.uk/labs/nth.php

Живая версия сделана с использованием миниатюр внутри div, и эти миниатюры имеют различные пропорции.Таким образом, ширина всегда равна 100px, но высота может быть любой (более или менее).

В любом случае, из-за этого и с использованием float иногда они не вписываются в 5 на строке, а некоторые идут ниже.другие, так что они более или менее самостоятельны, что делает его беспорядочным.

Итак ... как мне сделать это при сортировке и при обновлении очиститвсегда приятно сделать 5 дел в строке?В настоящее время бит, где я делаю

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

... не работает, как я надеялся

Редактировать: Так что я думаю, что проблема заключается в (5n), например, когда я перетаскиваю, скажем, элемент 1, между 5 и 6, во время перетаскивания в первом ряду отсутствуют 2 блока, затем, когда я его перетаскиваю, в первом ряду отсутствует 1 блок.Возможно, это как-то связано с тем клоном, который я тащу, все еще находясь там, приводя результаты, идеи?

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Я думаю, что все в порядке.просто убедитесь, что добавили зеленый класс после переупорядочения х divs.Посмотри эту скрипку .: eq не распознает n, используйте: nth-child.

$('#reorder').children('div.x:nth-child(5n + 1)').addClass('clear green');
0 голосов
/ 17 августа 2011

Таким образом, ответ, кажется,

$('#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();
});

У него были проблемы с заполнителями, а также с помощником, который все еще оставался на месте после того, как его таскали.

...