Показать сообщение отдельно
  #1 (permalink)  
Старый 30.01.2019, 15:54
Новичок на форуме
Отправить личное сообщение для DrewSherwood Посмотреть профиль Найти все сообщения от DrewSherwood
 
Регистрация: 23.01.2019
Сообщений: 8

Делаю плиточную сетку, не могу понять, как работать с каждой строкой
Делаю плиточную сетку, не могу понять, как работать с каждой строкой. Все работает, но только для одной строки. Суть такая: есть предыдущая строка, в ней есть элементы, из этих элементов забираем высоту каждого. И есть следующая строка, в которой мы забираем из элементов offset().top. И пишем для элементов следующей строки верхний отрицательный маржин (-оффсет элементов следующей строки + высота элементов предыдущей строки). Все работает, но только для одной строки, как сделать так, чтобы скрипт работал со всеми предыдущими/следующими строками?

var g = 50, off = [], h = [], total = [];

$('.row').prev().children().each(function(j){
		h[j] = $(this).height();		
	});

$('.row').next().children().each(function(i){
	
	off[i] = $(this).offset().top;
	total[i] = -off[i]+h[i];
	$(this).css('margin-top', + total[i] + g + 'px');
	
});

$('h2').text('height: ' + h + ' | ' + 'offset: ' + off);




Последний раз редактировалось DrewSherwood, 30.01.2019 в 15:56.
Ответить с цитированием