javascript — Изображения не складываются в шаблоне масонства?

Так что, видимо, мои изображения не складываются друг на друга. Они все в ровных горизонтальных рядах. Не уверен, что не так. Я хочу, чтобы изображения были сложены друг на друга в виде сетки Pinterest / Masonry.

Вот шорткод, который я использую в моем индексном файле:

  echo do_shortcode('[nggallery id="1"]');

Вот код, найденный в моем файле шаблона галереи Masonry:

  <?php
/**
Template Page for the gallery overview
Follow variables are useable :
$gallery : Contain all about the gallery
$images : Contain all images, path, title
$pagination : Contain the pagination content
You can check the content when you insert the tag <?php var_dump($variable) ?>
If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?>
**/
?>
<script src="/wp-includes/js/jquery/jquery.masonry.min.js" type="text/javascript">      </script>
<script>
$(function(){

var $container = $('#container');

$container.imagesLoaded( function(){
$container.masonry({
itemSelector : '.box'
});
});

});
</script>
<style>
.brick {
display: block;
margin: 0px 10px 15px 10px;
float:left;
/* width:250px; */
height: auto;
}
</style>
<script>
jQuery( document ).ready( function( $ ) {
$('#wall').masonry({
// options
itemSelector : '.brick',
isAnimated: true,
animationOptions: {
duration: 500,
easing: 'linear',
queue: false}
});
</script>
<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($gallery)) : ?>
<div class="ngg-galleryoverview" id="<?php echo $gallery->anchor ?>">
<div id="wall">
<!-- Thumbnails -->
<?php $i = 0; ?>
<?php foreach ( $images as $image ) : ?>
<div class="brick">
<a class="thickbox" href="<?php echo $image->imageURL ?>" title="<?php echo $image->description ?>" <?php echo $image->thumbcode ?> >
<?php if ( !$image->hidden ) { ?>
<img title="<?php echo $image->alttext ?>" alt="<?php echo $image->alttext ?>" src="<?php echo $image->thumbnailURL ?>" <?php echo $image->size ?> />
<?php } ?>
</a>
</div>
<?php if ( $image->hidden ) continue; ?>
<?php if ($gallery->columns > 0): ?>
<?php if ((($i + 1) % $gallery->columns) == 0 ): ?>
<br style="clear: both" />
<?php endif; ?>
<?php endif; ?>
<?php $i++; ?>
<?php endforeach; ?>
<?php echo $pagination ?>
</div>
</div>
<?php endif; ?>

Вот как выглядит моя галерея на реальной странице:

http://steppic.com/original/896e07bdf2f759709b9ccc5f9eea9e28.png

0

Решение

Вы вызываете кладку дважды с разными параметрами.

Во-первых, ваш контейнер — «#container», а ваши элементы — «.box»:

var $container = $('#container');
$container.imagesLoaded( function(){
$container.masonry({
itemSelector : '.box'
});

Во втором случае ваш контейнер — «#wall», а ваши элементы — «.brick», и вы пропустили «});» в конце вашего (документа) .ready

jQuery( document ).ready( function( $ ) {
$('#wall').masonry({
// options
itemSelector : '.brick',
isAnimated: true,
animationOptions: {
duration: 500,
easing: 'linear',
queue: false}
});
}); //this was missing

Выберите правильный контейнер и предметы, и он должен работать

0

Другие решения

Я не совсем уверен, так как я не знаю, предоставили ли вы полный CSS, но, возможно, это сработает, если вы просто удалите margin: 0px 10px 15px 10px; для класса brick,
На странице примера кладки я только привел пример, добавив это поле в класс item который соответствует вашему классу brickи результат выглядит аналогично вашему скриншоту:
Пример масонства

Кроме того, похоже, что вы называете каменную кладку дважды — один раз для .container$container.masonry({...и во второй раз #wall$('#wall').masonry({...
Вы можете проверить, работает ли он так, как задумано, когда уберете поле, как было предложено, и, возможно, также вызвать каменную кладку только один раз.

Обновить: Следующая настройка, которую вы можете попробовать, это удалить height: auto; из класса brick,
Я настроил пример кладки, добавив height: auto к элементу класса: Кладка с высоты: авто, как вы заметите, при удалении настройки высоты возникают некоторые проблемы: Кладка без высоты: авто

Для справки кладки: http://masonry.desandro.com/options.html

0

По вопросам рекламы [email protected]