Упаковочная машина неправильно разнесена, и желоб не работает

#jquery #css #layout #masonry #packery

#jquery #CSS #расположение #каменная кладка #упаковочная машина

Вопрос:

Я работаю над школьным проектом и нахожусь в некотором застое. Пожалуйста, посмотрите прилагаемый скриншот:

введите описание изображения здесь

Я не уверен, почему, но интервал в каждом столбце разный. Я включил как jquery, так и bootstrap. Подводя итог тому, что делает страница: у меня практически пустой документ (за исключением заголовка и строки меню), и я динамически загружаю изображения, поиск которых выполняется с помощью API Flicker. Страница написана в ejs в соответствии с требованиями проекта, как показано ниже:

 lt;%- include ('../partials/header') %gt; lt;bodygt;  lt;%- include ('../partials/menu') %gt;  lt;div class="container-fluid py-4" id="content"gt;  lt;div class="grid" id="gallery"gt;  lt;!-- Auto-populated --gt;  lt;/divgt;  lt;/divgt; lt;/bodygt; lt;footergt;  lt;%- include('../partials/footer') %gt; lt;/footergt; lt;/htmlgt;  

Javascript запускается кнопкой поиска в заголовке, но packery вызывается только в первой строке и в конце цикла при загрузке каждого изображения.

 var $grid = $('.grid').packery({  itemSelector: '.grid-item',  columnWidth: '.grid-sizer',  percentPosition: true, })  function getApiCall(event) {  event.preventDefault();  if (search_query)   $(document).ready(() =gt; {  $.ajax({url:url, dataType:"json"}).then(data =gt; {  document.getElementById("gallery").innerHTML = ''    data.photos.photo.forEach(image =gt; {  var img_src = `https://live.staticflickr.com/${image.server}/${image.id}_${image.secret}.jpg`  var img_link = `https://www.flickr.com/photos/${image.owner}/${image.id}`  var card = 'lt;div class="grid-item"gt;'  card  = `lt;a href=${img_link}gt;`  card  = `lt;img src=${img_src}gt;lt;/agt;`  card  = `lt;p class="p-2"gt;${image.title}lt;/pgt;`  card  = 'lt;/divgt;'  $grid.packery().append(card).packery('layout');  });  });  });  return false; }  

Это то, что у меня есть для css:

 .grid-item gt; a gt; img {width:100%;} .gutter-sizer { width: 2%; } .grid-sizer, .grid-item { width: 23%; } .grid-item {  float: left;  border-radius: 5px;  background-color: white; }  

Пожалуйста, дайте мне знать, если я выдам какую — либо соответствующую информацию. Мне нужна помощь, чтобы выяснить, как исправить проблемы с расстоянием и водосточными желобами. Заранее благодарю вас!

Комментарии:

1. Некоторые обновления: Я могу заставить кладку/упаковку работать со статически сгенерированными страницами. У меня проблема только с динамически загружаемыми страницами, подобными этой. Текущая стратегия, которую я пытаюсь использовать, состоит в том, чтобы полностью удалять кладку/упаковку между каждым поиском, ожидая загрузки изображений, а затем пытаясь «переустановить» кладку/упаковку. К сожалению, это тоже не работает 🙁