четверг, 23 ноября 2017 г.

Снипет выравнивания элементов строки по высоте JS

Хочу здесь оставить на память снипет, который выравнивает элементы одной строки по высоте.

    /* Найти макс. высоту */
    function findMaxHeight(elements) {
        var i, max_height,initial, cur_height;
        for (i = 0; i < elements.length; i++) {
            cur_height = $(elements[i]).height();
            if (!max_height) {
                max_height = initial = cur_height;
            } else if (cur_height > max_height) {
                max_height = cur_height;
            }
        }
        if (initial == max_height) {
            return false;
        }
        return max_height;
    }

    /* Выровнять элементы строки */
    function alignRowElements(elements_to_align) {
        var i,
            max_height = findMaxHeight(elements_to_align);
        if (max_height) {
            for (i = 0; i < elements_to_align.length; i++) {
                $(elements_to_align[i]).css('display', 'block');
                $(elements_to_align[i]).height(max_height);
            }
        }
    }

    /* Интерфейс для выполнения выравнивания по строкам */
    function alignByHeight(elements, col_count) {
        var i, j, elements_in_row, elements_to_align = [];
        for (i = 0; i < elements.length; i++) {
            if (!((i+1) % col_count)) {
                for (j = i; j > ((i - col_count) ); j--) {
                    elements_to_align.push(elements[j]);
                }
                alignRowElements(elements_to_align);
                elements_to_align = [];
            }
        }
    }

    var cart_eleemtns = $('.list_tovar__cart .name');
    // Выравниваем элементы по высоте в три столбца
    alignByHeight(cart_eleemtns, 3);

Комментариев нет:

Отправить комментарий

Linux командная строка узнаем оставшееся место

Чтобы посмотреть общую картину того, сколько места осталось в системе можно выполнить команду: df -h Чтобы вывести на экран сколько мес...