Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.11.2022, 20:18
Кандидат Javascript-наук
Отправить личное сообщение для StartGames Посмотреть профиль Найти все сообщения от StartGames
 
Регистрация: 13.06.2014
Сообщений: 143

Работа с галереей Fancybox
Здравствуйте. Пишу вам так как нигде не нашел ответа. даже на официальном сайте галереи https://fancyapps.com/docs/ui/fancybox/

Есть такая галерейка. очень крутая, вопросов нету.

Но беда в том, что во вспыхивающем окне невозможно задать свой уникальный id или хотя бы класс. Там есть id https://prnt.sc/Uj8TObtSf7l8 но он постоянно меняется при открытии даже этой же картинки https://nimb.ws/KmiXoy (сайт как пример, на нем используется этот плагин).

Соответственно если на странице больше 1 галереи - тогда она уже не уникальная, так как привязаться к класу или иду нет возможности. Рушить этот механизм с id нет желания, ибо это наверное та еще мозго****.

Как по мне лучше задавать свой уникальный класс для всей галереи. Т.е. чтобы при открытии конкретной галереи сюда https://prnt.sc/Fp-p4VLTzENQ добавлялся нужный клас. Как это можно реализовать? Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 17.11.2022, 20:49
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

Попробуйте привязаться к классу fancybox-container.
Если элементов с таким классом несколько, надо как то из них выбрать нужный. Как именно трудно сказать, не зная, что вам надо.
Ответить с цитированием
  #3 (permalink)  
Старый 17.11.2022, 20:51
Кандидат Javascript-наук
Отправить личное сообщение для StartGames Посмотреть профиль Найти все сообщения от StartGames
 
Регистрация: 13.06.2014
Сообщений: 143

на данный момент сделал так:

При клике на саму карусель фото повесил ид. и при клике на одну из фоток срабатывает скрипт (под sid уникальный id модуля):

$('#dru{{ sid }}').click(function(){
                $('.fancybox-container').addClass('dru{{ sid }}');
            })


И соответственно в момент клика он вешает уникальный класс нужному контейнеру (он единственный при открытой галереи). При переключении фото в самой галереи он не исчезает, а при открытой по новой соответственно просто поновляет класс. На другую галерею не влияет, так как вызов добавления класса идет именно по нужному id галереи. Работает. Но возможно есть более правильное решение.
Ответить с цитированием
  #4 (permalink)  
Старый 17.11.2022, 20:52
Кандидат Javascript-наук
Отправить личное сообщение для StartGames Посмотреть профиль Найти все сообщения от StartGames
 
Регистрация: 13.06.2014
Сообщений: 143

Сообщение от voraa Посмотреть сообщение
Попробуйте привязаться к классу fancybox-container.
Если элементов с таким классом несколько, надо как то из них выбрать нужный. Как именно трудно сказать, не зная, что вам надо.
только что также решил) спасибо за ваш ответ)
Ответить с цитированием
  #5 (permalink)  
Старый 17.11.2022, 21:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,107

StartGames,
может это showClass
Ответить с цитированием
  #6 (permalink)  
Старый 17.11.2022, 21:13
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

Там еще есть mainClass
https://fancyapps.com/docs/ui/fancyb...ons/#mainClass
Вроде позволяет каждому контейнеру задать собственные классы. Тогда по ним их можно различать.
Ответить с цитированием
  #7 (permalink)  
Старый 17.11.2022, 22:28
Кандидат Javascript-наук
Отправить личное сообщение для StartGames Посмотреть профиль Найти все сообщения от StartGames
 
Регистрация: 13.06.2014
Сообщений: 143

да к сожалению в том то и дело что этот функционал у них непонятно как работает) я пробовал и так:
$('[data-fancybox="dru_item"]').fancybox({
                loop: false,
                mainClass: aaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
                showClass: bbbbbbbbbbbbbb
            });


и так:
$('[data-fancybox="dru_item"]').fancybox({
                loop: false,
                mainClass: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                showClass: "bbbbbbbbbbbbbb"
            });


и так:
$('[data-fancybox="dru_item"]').fancybox({
                loop: false,
                mainClass: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
                showClass: 'bbbbbbbbbbbbbb'
            });


но он игнорирует это. дам параметр где повторение - отключить - работает, а вот то что связано с класами - игнорирует((
Ответить с цитированием
  #8 (permalink)  
Старый 17.11.2022, 22:36
Кандидат Javascript-наук
Отправить личное сообщение для StartGames Посмотреть профиль Найти все сообщения от StartGames
 
Регистрация: 13.06.2014
Сообщений: 143

по идее понял... у меня стоит их 3я версия https://web.archive.org/web/20210325.../docs/#options а там значений mainClass или showClass нету((
Ответить с цитированием
  #9 (permalink)  
Старый 17.11.2022, 22:44
Кандидат Javascript-наук
Отправить личное сообщение для StartGames Посмотреть профиль Найти все сообщения от StartGames
 
Регистрация: 13.06.2014
Сообщений: 143

епт)) ребята. вы красавцы))) натолкнули в нужном направлении. жаль не могу вам добавить + в карму так как сайт просит кому то другому это сделать...

в третьей ветке можно использовать переменные:
baseClass
и
slideClass
соответственно))

спасибо вам, вы лучшие))
Ответить с цитированием
  #10 (permalink)  
Старый 17.11.2022, 22:49
Кандидат Javascript-наук
Отправить личное сообщение для StartGames Посмотреть профиль Найти все сообщения от StartGames
 
Регистрация: 13.06.2014
Сообщений: 143

оффтоп: специально походил по сайту и дал плюс в карму рандомным людям, чтобы дать + в карму вам) а то сайт почему то не хочет просто так давать +... еще раз спасибо)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в Fancybox 3 сбросить значение index в $.fancybox.open? kepkame jQuery 2 04.12.2019 17:42
Fancybox 3 + Fotorama - Не работает, нужна помощь. aarka jQuery 3 08.08.2018 00:06
Fancybox при клике на метку Яндекс.Карт не работает с параметрами imax57 jQuery 0 04.10.2014 09:18
контент fancybox mazur417 jQuery 1 15.03.2014 12:19
Работа с fancybox, социальный постинг dolte Events/DOM/Window 3 04.09.2013 17:28