Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Селектор для Fancybox (https://javascript.ru/forum/jquery/80094-selektor-dlya-fancybox.html)

dizelvis 26.04.2020 20:39

Селектор для Fancybox
 
На моей странице открывается галерея Fancybox. Во время открытия мне нужно применить css стили к самому изображению, но никак не могу найти сам плагин в dom - пробовал разные селекторы, не получается. Пожалуйста, направьте в нужном направлении!

Вот пример https://codepen.io/fancyapps/pen/wEVOPa

рони 26.04.2020 21:22

Цитата:

Сообщение от dizelvis
Во время открытия мне нужно применить css стили к самому изображению

.fancybox-slide--complete .fancybox-image
   {
    transform: scale(1) rotate(720deg);
    transition: 2s;
   }
   .fancybox-image{
     transform: scale(.1);
   }

dizelvis 26.04.2020 22:11

Стиль должен применяться динамически.
Пробовал через
$(document).ready(function(){
	$('.fancybox-image').css('opacity', '0.1');
});

не работает.
не подскажите?
https://codepen.io/dizelvis/pen/GRpmQjV

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

рони 26.04.2020 22:18

dizelvis,
почему бы стиль не прописать в css?
не работает потому что нет элементов с таким селектором, плагин создаёт их на время показа.
читайте документацию, beforeShow возможно вам поможет

рони 26.04.2020 22:22

Цитата:

Сообщение от dizelvis
$(document).ready(function(){
    $('.fancybox-image').css('opacity', '0.1');
});

заменить на
$.fancybox.defaults.afterShow = function(){
	$('.fancybox-image').css('opacity', '0.1');
};

рони 26.04.2020 22:31

dizelvis,
почему не добавить
просто
<style type="text/css">
  .fancybox-slide--complete .fancybox-image
   {
     opacity: 1;

   }
   .fancybox-image{
       opacity: .1;transition: 1.2s;
   }

  </style>

рони 26.04.2020 22:31

dizelvis,
документация
http://fancyapps.com/fancybox/3/docs/#options

dizelvis 26.04.2020 23:08

рони,
спасибо за подсказку! однако мне не удается получить именно элемент конкретно слайда, изменяя стиль для .fancybox-image я применяю его для всех фото в галерее

dizelvis 26.04.2020 23:12

Цитата:

Сообщение от рони (Сообщение 523446)
dizelvis,
почему не добавить
просто
<style type="text/css">
  .fancybox-slide--complete .fancybox-image
   {
     opacity: 1;

   }
   .fancybox-image{
       opacity: .1;transition: 1.2s;
   }

  </style>

у меня пользователь на странице может выполнять некоторые действия с фото. Поворот, отображение, кроп. Все это с помощью css тут же отображается.
Нужно чтобы при просмотре в галерее fancybox пользователь видел фото с учетом тех стилей, что он уже применил

dizelvis 26.04.2020 23:18

На странице https://codepen.io/dizelvis/pen/GRpmQjV я применил к некоторым фото
style="transform: scaleX(1) rotate(90deg)"

как отобразить теперь этот стиль при просмотре в галерее?


Часовой пояс GMT +3, время: 12:45.