Как группировать изображения в нескольких галереях с помощью FANCYBOX?

#javascript #jquery #fancybox #fancybox-2

#javascript #jquery #fancybox #fancybox-2

Вопрос:

Как группировать галереи, чтобы показывать только фотографии из одной группы?

Прямо сейчас, получая изображения через data-fancybox, проблема в том, что у меня есть динамический идентификатор группы.

версия fancybox: v3.5.7

 <a class="fancyfunc" data-fancybox-group="group_<?=$r['reference_id'];?>"  href="<?=$img['image'];?>"  data-fancybox="images">
   <img class="none" src="<?=$img['image'];?>" />
</a>
  
 $('[data-fancybox="images"]').fancybox({

    margin : [44,0,22,0],
    thumbs : {
        autoStart : true,
        axis      : 'x'
    }
})
  

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

1. Это data-fancybox-group="group_<?=$r['reference_id'];?>" уже должно сработать, если вы правильно передаете тот же reference_id для тех же групповых ссылок. Пожалуйста, обратите внимание, что в вашем class атрибуте отсутствует двойная ссылка

2. Но это не сработает, $ (‘[data-fancybox=»images»]’) должен быть нацелен на data-fancybox-group

3. обновлено описание моей ошибки при публикации кода.

Ответ №1:

Смотрите документы — https://fancyapps.com/fancybox/3/docs/#usage

[..] используйте одно и то же data-fancybox значение атрибута для каждого из них, чтобы создать галерею.

Итак, замените

data-fancybox-group="group_<?=$r['reference_id'];?>"

с помощью

data-fancybox="group_<?=$r['reference_id'];?>"

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

1. а как насчет этого статического вызова? $(‘[data-fancybox=»group_»]’).fancybox({}) теперь я получаю только одно изображение в полезной нагрузке

2. Вы применяете событие click (которое запускает fancybox) к элементам, соответствующим вашему селектору (например, что $('[data-fancybox="group_"]') возвращает); группы создаются на основе значения data-fancybox атрибута.