Я пытаюсь написать функцию JQuery, которая будет соответствовать высотам всех изображений на странице с тем же именем класса.jQuery изображения с равной высотой
Это работает как ожидалось, если подключение к интернету будет порядочным. Если для загрузки изображения требуется некоторое время, он не может отображать изображения. Я предполагаю, что функция определяет изображение как высоту 0px и устанавливает это для всех.
Как я могу обойти это?
Большое спасибо
function equalizeClass(className) {
var equaliserHeight = 0;
var height = 0;
var i = 0;
$('.'+className).each(function() {
$(this).imagesLoaded(function() {
i++;
height = $(this).height();
if(height>equaliserHeight) {
equaliserHeight = height;
}
});
});
$('.'+className).css("height", equaliserHeight);
}
$(function() {
equalizeClass('products-page-product-img'); // Equalize product list thumbnails
});
Ключ будет вам может понадобиться, чтобы проверить, когда все изображения будут загружены, то вам нужно сделать выравниванию. –
Я добавил imagesLoaded() плагин из desandro.com, который сглаживался, чтобы быть тем, что мне нужно. Но теперь изображения вообще не отображаются, и на моей консоли появляется следующая ошибка. Может быть, это связано с моей начальной загрузкой? - Uncaught TypeError: Не удается прочитать свойство defaultView из undefined –
Можете ли вы показать фрагмент с плагином, пожалуйста? –