2013-08-09 4 views
2

Я перехожу мой сайт из масонства 2 масонству 3.Кладка v3.0.4 изменение размера

В масонстве 2, я использовал

$(window).bind('smartresize.masonry', function() { 
//recalculate my container width 
}); 

На этой странице http://masonry.desandro.com/appendix.html#upgrading-from-v2 Они говорят: «smartresize JQuery плагин был удален "без объяснения причин.

smartresize.masonry был идеален для меня, это позволило мне пересчитать мою ширину и кладку контейнера в этой новой ширине без задержки.

Теперь с v3, я делаю:

container.masonry('bindResize'); 

$(window).resize(function() { 
//recalculate my container width 
}); 

Это 2 отдельных событий и есть небольшая задержка между 2 из них. Кажется, что bindResize не вызывается с той же частотой, что и $ (window) .resize(), я ошибаюсь?

Есть ли способ сделать то, что делает smartresize?

+0

У вас есть почти решение этой проблемы. Когда я изменяю размер, будут большие пробелы и перекрывающиеся элементы, даже если я использую плагин imagesLoaded. Хотелось бы услышать от вас. @Bractar – Caspert

ответ

0

Плохая часть этой новой масонства - это что-то вроде onBeforeResize и onAfterResize. Я установил плагин smartresize (debouncedresize) и отключил событие изменения размера масонства container.masonry ('unbindResize'); Затем я обновляю макетную макет внутри моей собственной функции изменения размера.

Смежные вопросы