1

我有一个页面,其中包含一个 FancyBox 图像库和一些像 div 的单个 FancyBox 元素。我需要在我的画廊项目上有一个水印,所以我使用了 FancyBox 页面http://jsfiddle.net/w5gQS/中的示例

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

但这会将水印 div 添加到所有 FancyBox 元素中,包括单个元素。

我的问题: 是否可以仅将水印添加到画廊项目中,如果可以的话,该怎么做(方法越干净越好)?

PS使用FancyBox v2.1.5

此致

4

1 回答 1

1

您可以轻松评估其中有多少元素,group因此如果有多个元素,则为gallery,否则为单个元素。

使用参考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

于 2013-09-19T20:03:53.293 回答