2013-12-11 48 views
5

我需要與body元素和CSS overflow屬性在這篇文章中討論解決這個問題: When a fancybox 2 is activated, a scrollbar flashes on the parent page causing the content to shift left and then back如何爲助手設置默認(全局)選項?

使用輔助選項helpers: {overlay: {locked: false}}修復我的問題,但我需要一個解決方案來設置這個選項爲所有的fancybox來電,這樣我就不需要在每次通話中花費這個設置。

我試着用不同的形式,但不工作:

$.fancybox.open([{ 
    helpers: { 
     overlay: { 
      locked: false 
     } 
    } 
}]); 

$.extend($.fn.fancybox.helpers, { 
    overlay: { 
     locked: false 
    } 
}); 

$.fn.fancybox.defaults.overlay.locked = false; 

我不想更改CSS組件,因爲目前通過鮑爾使用相同的。

+0

你是否將fancybox綁定到不同的選擇器? – JFK

+0

@JFK是的,對於許多不同的選擇器。 –

回答

0

你可以設置此設置的對象,你在所有的fancybox的使用要求:

var fancyBoxDefaults = 
{ 
    helpers: { 
     overlay: { 
      locked: false 
     } 
    } 
}; 
$(".fancybox1").fancybox(fancyBoxDefaults); 
$(".fancybox2").fancybox(fancyBoxDefaults); 

如果您需要任何特定的fancybox設置的設置,你可以擴展對象:

$(".fancybox3").fancybox($.extend(fancyBoxDefaults,{ 
    maxWidth: 800, 
    maxHeight: 600 
})); 
相關問題