2013-12-11 1 views
5

Ich brauche das Problem mit body Elemente und dem CSS overflow Attribute in diesem Beitrag diskutiert zu beheben: When a fancybox 2 is activated, a scrollbar flashes on the parent page causing the content to shift left and then backWie kann ich Standard (globale) Optionen für Helfer einstellen?

die Helfer Option Mit helpers: {overlay: {locked: false}} Fixes meinem Problem, aber ich brauche eine Lösung für all diese Option zu setzen Fancybox ruft, Auf diese Weise muss ich diese Einstellung nicht bei jedem Anruf ausgeben.

habe ich versucht, mit verschiedenen Formen, aber nicht funktioniert nicht:

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

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

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

Ich will nicht die CSS-Komponente ändern, weil zur Zeit die gleiche über Bower verwenden.

+0

binden Sie fancybox an verschiedene Selektoren? – JFK

+0

@JFK Ja, für viele verschiedene Selektoren. –

Antwort

0

Sie können Setup ein Objekt mit dieser Einstellung, die Sie in allen Ihren fancybox-Aufrufe:

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

Wenn Sie die Einstellungen für eine bestimmte fancybox festlegen müssen, können Sie das Objekt erweitern konnte:

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