Некорректная работа data-fancybox-group="group" в ulightbox

голоса: 0

Здравствуйте!

Заметил, что начал немного некорректно работать ulightbox, а именно переключатели изображений при их объединении с помощью data-fancybox-group="group". Не уверен, но вроде раньше не было такого.

Суть проблемы:

Все изображения в материалах сайта, которые выводяться в описании материала через коды типа $IMAGE1$ я дополнил параметром data-fancybox-group="group", чтобы ulightbox выводил стрелочки-переключатели между изображениями, которые находятся внутри материала.

Это всегда работало как надо, на протяжении более двух лет, а именно - если в материале одно изображение, то стрелочки-переключатели не появляются, а если изображений несколько, то при увеличении их через ulightbox, в нем присутсвуют переключатели.

Сегодня заметил, что если зайти на сайт как гость, то стрелочки-переключатели в ulightbox появляются всегда, вне зависимости от того, сколько изображений в материале - одно или несколько.

При этом, самое странное, что если зайти под любым логином (не важно, админ или пользователь), то такой проблемы не наблюдается! Если изображение одно, то стрелочек на нем не будет.

Прилагаю два скриншота одного материала, в описании которого присутствует только одно изображение. Один скрин - просмотр залогиненным, другой скрин - просмотр гостем.

1. https://gtagamer.org/tst/Clipboarder.2022.10.17.png

2. https://gtagamer.org/tst/InkedClipboarder.2022.10.17-002.jpg

Закрыто с пометкой: Вопрос решен!
| Автор: | Категория: jQuery
Закрыт | | Автор: Yuri_Geruk

Ответов: 1

голоса: 0
 
Лучший ответ

Вся суть проблемы в вашем скрипте:

<script type="text/javascript"> $(document).ready(function(){ $('.ulightbox').attr('data-fancybox-group', 'screens' ); }); </script>

вы неправильно применили лайтбок, поцепили его не только на фото, но и на ссылки входа и регистрации и не только, потому и стрелки выводятся.

| Автор:
Выбор ответа лучшим | | Автор: Bogdan Yakovenko

Мда, действительно, я же параметр применил вообще ко всем окнам ulightbox на странице. Сам бы и не додумался. Спасибо)

Получается, чтобы параметр присваивался только изображениям в материале, нужно задать два класса в скрипте, один из которых будет обозначать изображение материала, а второй ulightbox.

Подскажите, пожалуйста, как правильно должен выглядеть этот скрипт?

upd: 
Я сделал вот так:
 <script type="text/javascript">
 $(document).ready(function(){ $('.eMessage a.ulightbox').attr('data-fancybox-group', 'group' ); });
 </script>

и вроде бы это решило проблему.
Все ли правильно теперь? Я не особо силен в скриптинге.

Bogdan Yakovenko,
Да, так лучше.
...