@filippovanatoliy
Вот начал погружаться в кодинг)

Как обновлять masonry?

Здравствуйте!
Вот страница, которую сейчас делаю: mistxs.ru/dev13

Задача стоит такая: Нажал на "+", блок раскрылся и вызвался masonry чтобы перераспределить их.
Проблема: сейчас очень странно происходит - как будто задержка на один шаг

$('.kplus').on('click', function() {

var theClass = $(this).attr('id');

if ($('.text'+theClass).css('display') == 'none') {
$('.text'+theClass).animate({height: 'show'}, 100);
$('#'+theClass+'.kplus').addClass('viz');
$('#'+theClass+'.kplus span').replaceWith('-');
}

else {
$('.text'+theClass).animate({height: 'hide'}, 100);
$('#'+theClass+'.kplus').removeClass('viz');
$('#'+theClass+'.kplus span').replaceWith('+');
}

$grid.masonry();
});

});

вот скрипт которым я делаю схлопование/захлопование дива + в конце вызываю masonry.

Первоначальная идея была при щелчке увеличивать height, то есть добавлять класс с увеличенным height, но это вообще не то, и не адаптивно нифига. Однако с добавлением класса все работало ОК
  • Вопрос задан
  • 226 просмотров
Решения вопроса 1
Попробуйте вызывать обновление masonry после завершения анимации.
К примеру так
$('.text' + theClass).animate({ height: 'show' }, 100, $grid.masonry.bind($grid));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы