@frilix
Иногда "творю"

Ajax загрузка и fancybox?

Добрый день. Есть две сайт на котором нужно подгружать через ajax галерею изображений. На данный момент сделано все так, что при клике на кнопку у меня запускается ajax загрузка изображений ну и соотвественно fancybox, который выполняется первым из-за чего соотвественно не может найти изображение этой же группы:

/* FancyBox */
    $(document).ready(function() {
      $("a.fancyimage").fancybox();
    });
    // Gallery Photo
    $('.gallery-photo').on('click', function(event){
      event.preventDefault();
      var $self = $(this);

      $.ajax({
        url: "/wp-admin/admin-ajax.php",
        type: "GET",
        data: "action=get_images&id=" + $self.data('id'),
        success: function(data){
          var $gallery = $self.parent().parent().parent().find('.gallery-loop');
          $gallery.html(data);
        }
      });
    });


Ну и сам html:
<div class="item">
	    <div class="img">
				<img src="<?php echo get_post_meta( get_the_ID(), 'post_poster', false )[0]['guid'] ?>" alt="">
	    </div>
			<div class="buttons">
				<div class="bt">
					<a class="fancyimage gallery-photo" data-id=<?php echo get_the_ID(); ?> data-fancybox-group=<?php echo get_the_ID(); ?> href="<?php echo get_post_meta( get_the_ID(), 'post_poster', false )[0]['guid']; ?>"><span><i class="fa fa-plus" aria-hidden="true"></i></span></a>
					<a href="<?php the_permalink(); ?>"><span><i class="fa fa-chevron-right" aria-hidden="true"></i></span></a>
				</div>
			</div>
      <div class="info">
        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
      </div>
			<div class="gallery-loop"></div>
	  </div>


Можно ли решить данную проблему?
Или есть альтернативы ?
  • Вопрос задан
  • 2062 просмотра
Решения вопроса 1
Попробуйте после вставки изображений на страницу еще раз вызывать $("a.fancyimage").fancybox();

Бтв, вместо parent().parent()....parent().parent() посмотрите на .closest()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы