Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   LightBox динамическое кол-во галерей на странице (https://javascript.ru/forum/jquery/25947-lightbox-dinamicheskoe-kol-vo-galerejj-na-stranice.html)

neon2k 20.02.2012 23:24

LightBox. Несколько галерей на одной странице.
 
Всем привет!
Собственно, сабж.

У меня на некоторых страницах сайта может присутствовать 1, а может и 5 (до 10ти) галерей с фотографиями. Собственно, вопрос в том, КАК разделить фотографии на отдельные галереи. Они у меня либо все в одной галерее, либо каждая картинка сама по себе. Количество галерей заранее неизвестно, оно ДИНАМИЧЕСКОЕ.

Возможность назначать динамические ID либо классы каждой картинке или DIV'у имеется. Но как этим воспользоваться - не "догоню" :)

На данный момент такой код, при котором все картинки в куче:
$(function () { // в Хедере
            $('a[rel^="photo_gallery"]').lightBox();
});


Сами картинки так:
<a rel="photo_gallery-@news_count" href="xxx" ><img src="xxx" alt="Photo" /></a>

где, @news_count - переменная, которая наращивается с каждой новой галереей.

Заранее благодарю, ребят!

neon2k 22.02.2012 11:08

Ап! Неужели никто не знает, как решить эту задачу?? ))

Duda.Ml1986@gmail.com 22.02.2012 12:28

Наверное нужно разделить картинки по группам например :

$('a[rel^="photo_gallery2"]').lightBox();

<a rel="photo_gallery2" href="xxx" ><img src="xxx" alt="Photo" /></a>

Ну а как добавить 2ку, 3ку или 10 Вы уже разберетесь.

neon2k 22.02.2012 13:23

Да то, что их разделить нужно, это и так понятно...
НО, я заранее не знаю, сколько там будет галерей на странице :)
А следовательно, сколько раз прописывать вот этот код, я не знаю:
$('a[rel^="photo_gallery"]').lightBox();

Duda.Ml1986@gmail.com 22.02.2012 14:18

Если страницы генерятся в php то:

А как Вы различаете где какая галерея, как они у Вас делятся?

Если по количесву, то Вы можете выбирать все элементы соответствующие условию и у них менять атрибут rel

Если по размещению в DIV, то выбирайте как дочерние элементы и тоже меняйте аттрибуты

П.С. Если у Вас будет вот такой лишний код :

$('a[rel^="photo_gallery2"]').lightBox();

а такой галереи не будет, то ничего и непроизойдет!!!

neon2k 24.02.2012 20:04

Неужели, меня первого побеспокоил такой вопрос?
Никто не знает решения?
Але, умы, вы где??! :)))))

neon2k 24.02.2012 23:20

Отбой.
Сделал так:
<script type="text/javascript">
    $(document).ready(function () {
        $('.класс_таблицы_содержащей_галерею').each(function () {
            $(this).find('a').lightBox();
        });
    });
</script>

И никаких циклов и "лишних $('a[rel^="photo_gallery2"]').lightBox();" не надо ;)


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