Показать сообщение отдельно
  #12 (permalink)  
Старый 31.01.2019, 06:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Имеется ввиду создание этого массива динамически по количеству элементов? Тогда

var offset = new Array($('.col').lenght()).fill(0), ...


Но .fill() не поддерживается IE (собственно со стороны браузера должна быть поддержка и Math.max(...offset)), что у вас по плану с этим не знаю, поэтому тут описан и полифилл, если что.

А можно взять первую строку элементов, заполнить массив их высотами, а далее уже брать срез строк начиная со второй для обхода в цикле (как у вас и было в коде).

Либо код подправить так:

var offset = [], max;
$('.row').each(function(i, e) {
    if(!i) {
        $(e).children().each(function(k, o) {
            offset.push(o.offsetHeight)
        })
    } else { //.....

Последний раз редактировалось laimas, 31.01.2019 в 07:15.
Ответить с цитированием