2015-08-08 45 views
-1

我追加一個div到的fancybox來顯示的fancybox畫廊的fancybox水印probleme圖像尺寸

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

</script> 

水印我怎麼能只在div追加到的fancybox如果圖像大小比X大?

在此先感謝。

回答

0

你只需要標準添加到if語句,如:

if (this.group.length > 1 && this.width > x && this.height > y) 

完整的代碼(比你的略有不同)

jQuery(document).ready(function ($) { 
    $(".fancybox2").fancybox({ 
     beforeShow: function() { 
      /* Add watermark to gallery elements only */ 
      if (this.group.length > 1 && this.width > 800) { 
       $.fancybox.wrap.bind("contextmenu", function (e) { 
        return false; 
       }); 
       $('<div />', { 
        "class": "watermarker", 
        style: "width:" + this.width + "px; height:" + this.height + "px;" 
       }).prependTo($.fancybox.inner); 
      } 
     } 
    }); 
}); // ready 

通知的contextmenu勢必到的fancybox wrap而不是watermark因爲右擊可以實現徘徊圖庫導航箭頭。如果您想要限制右鍵單擊所有圖像(包括圖庫外的圖像),請從if聲明中取出.bind()方法。

還要注意我動態設置widthwatermarkheight相同大小的的fancybox 盒子,但我可以用CSS規則設置其屬性的其餘部分。

最後,注意應用引號,因爲類被聲明爲保留的JavaScript關鍵字。

參見JSFIDDLE 在演示中,只有第二圖像(比「X」寬)將具有一個水印