jQuery - разделение элементов путем выделения количества элементов одним цветом, затем другим количеством и т. д. (пример включен) - PullRequest
0 голосов
/ 03 марта 2012

Скрипка: http://jsfiddle.net/8xBeW/1/

В примере со скрипкой вы можете увидеть идею, которую я вроде собираюсь. Только вместо того, чтобы выделять каждые 4 элемента, я бы хотел, чтобы список вычислялся так, как если бы я разбивал его на 4 равные части. Теперь очевидно, что это не всегда будет делиться на то число, которое я вставил, и это нормально. Но вот быстрый пример того, что я хотел бы:

Элемент1
Элемент2
Item3
Item4
Item5
Item6
Ст.7
Ст.8

Я хотел бы взять этот список и вставить «4» и получить следующий вывод ...

Item1 [выделенный 1-й цвет]
Item2 [выделенный 1-й цвет]
Item3 [выделенный 2-й цвет]
Item4 [выделенный 2-й цвет]
Item5 [выделенный 3-й цвет]
Item6 [выделенный 3-й цвет]
Item7 [выделенный 4-й цвет]
Item8 [выделенный 4-й цвет]

А если бы это был нечетный список, например, если бы я хотел, чтобы он был разделен на 5, это было бы 8/5, то есть 1,6, так что он округлялся бы до 2, и в любом случае выделять каждые 2, верно? Не совсем уверен, как справиться с этим ... но вот почему я здесь.

Есть идеи? Это всего лишь личный проект, который я пытаюсь сделать, чтобы разделить список задач и легко распределить их среди X членов команды.

1 Ответ

2 голосов
/ 03 марта 2012

Попробуйте что-то вроде этого:

    var total = $("#list-for-testing li").length;
    var num = total / $el.val( );
    var current = 1;

    $('#list-for-testing li').each( function( i ) {
        if( i > ( current * num ) )
            current++;
        $(this).attr('class', 'selected' + current);
    } );

Я использовал несколько классов, чтобы заставить его работать (selected1, selected2 и т. Д.), Но этого должно быть достаточно, чтобы заставить его работать оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...