После нажатия «Загрузить еще» на «Странице действий» в «BuddyPress» я хочу применить «Masonry.js» к списку действий.
Я написал для этого следующий код, но $ grid.masonry
после нажатия «Загрузить еще» не работают.
(function($){
if($('#activity-stream').length){
var observer = new MutationObserver(function (MutationRecords, MutationObserver) {
var $grid = $('.grid').masonry({
itemSelector: '.grid-item',
isFitWidth: true,
isAnimated: true,
columnWidth: 620,
});
$grid.masonry(); // don't work
$grid.masonry('reloadItems'); // don't work
$grid.masonry('layout'); // don't work
});
observer.observe($('#activity-stream').get(0), {
childList: true,
});
}
})(jQuery);
Если я добавлю такие элементы, как span
и использую settimeout
, как показано ниже, «Masonry.js» будет работать, но этонеуместно.
(function($){
if($('#activity-stream').length){
$('body').on("click",'.load-more',function(){
$('#activity-stream').prepend('<span></span>');
});
var observer = new MutationObserver(function (MutationRecords, MutationObserver) {
var $grid = $('.grid').masonry({
itemSelector: '.grid-item',
isFitWidth: true,
isAnimated: true,
columnWidth: 620,
});
setTimeout(function(){
$grid.masonry();
$grid.masonry('reloadItems');
$grid.masonry('layout');
},5000);
});
observer.observe($('#activity-stream').get(0), {
childList: true,
});
}
})(jQuery);
Я полностью потерян в жизни и не знаю, что делать ...
Буду очень признателен, если вы объясните детали.
Спасибо.
Masonry.js: https://github.com/desandro/masonry