Добавить водяной знак в fancybox только для элементов галереи, а не для элементов, не относящихся к галерее

У меня есть страница, которая содержит галерею изображений FancyBox и некоторые отдельные элементы FancyBox, такие как div. Мне нужно иметь водяной знак на моих элементах галереи, поэтому я использовал пример со страницы FancyBox http://jsfiddle.net/w5gQS/

beforeShow: function () { $('<div class="watermark"></div>').prependTo( $.fancybox.inner );

Но это добавляло div водяного знака ко всем элементам FancyBox, включая отдельные.

Мой вопрос: возможно ли добавлять водяной знак только к элементам галереи, и если да, то как это можно сделать (чем чище метод, тем лучше)?

PS с помощью FancyBox v2.1.5

с уважением

1 ответ

Решение

Вы можете легко добиться этого, оценивая, сколько элементов в group так что если их больше одного, то это галерея, в противном случае это один элемент.

Используя код из справочника jsfiddle, настройте его следующим образом:

$(".fancybox").fancybox({
    beforeShow: function () {
        /* Add watermark to gallery elements only */
        if ( this.group.length > 1 ) {
            $('<div class="watermark"></div>')
                .bind("contextmenu", function (e) {
                return false; /* Disables right click */
            }).prependTo($.fancybox.inner);
        }
    }
});

Смотрите раздвоенный JSFIDDLE

Другие вопросы по тегам