smargelov
@smargelov
Верстальщик

Как открыть в лайтбоксе только отфильтрованные фото?

Добрый день.
Помогите, пожалуйста.
Есть блок с миниатюрами. С помощью довольно простого кода, отфильтровываем по рубрикам с помощью jQuery. После этого, кликом по миниатюре можно запустить просмотр галлереи в лайтбоксе. Но беда в том, что мой код запускает все фото для просмотра, а хотелось бы, чтобы только те, которые выбраны до этого фильтром. Как это сделать?
Не могу понять, изменение присвоение или удаление класса lb никак не влияет на выборку и лайтбокс считает что этот класс есть у всех изображений.

Уверен, что решение будет достаточно простым, но мне оно не даётся. Я не волшебник, я только… Ну вы поняли.

Заранее спасибо

https://codepen.io/anon/pen/BOLXQX
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
А чем у вас сейчас отфильтрованные изображения отличаются от прочих? Видимостью. Под это дело у jquery есть специальный селектор, :visible. Вот с его помощью и отбирайте следующее изображение, например так.

UPD. Сразу не заметил, у вас там отфильтрованным изображениям назначается специальный класс - конечно, вместо :visible лучше использовать его (в примере по ссылке выше можно просто заменить одно на другое).
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
VeroLom
@VeroLom
Веб-разработчик, фрилансер, UMI.CMS
Вроде бы, нужным группам изображения устанавливаешь атрибут rel="group_name". Тогда изображения будут перелистываться среди этой группы.
Ответ написан
@tyzberd
у fancybox есть такое https://codepen.io/fancyapps/pen/YQKPYX?editors=1010
или так же у него можно сделать так
var $links = $('.fancybox');

$links.on('click', function() {

	$.fancybox.open( $links, {
		// Custom options
	}, $links.index( this ) );

	return false;
});

т.е после фильтрации можна выбрать нужные блоки и навесить клик
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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