2013-12-11 16 views
5

muszę rozwiązać problem z body elementu i atrybutu css overflow omawianym w tym poście: When a fancybox 2 is activated, a scrollbar flashes on the parent page causing the content to shift left and then backJak ustawić domyślne (globalne) opcje dla pomocników?

Użycie opcji pomocnika helpers: {overlay: {locked: false}} rozwiązuje mój problem, ale potrzebne jest rozwiązanie, aby ustawić tę opcję dla wszystkich Fancybox wzywa, w ten sposób nie muszę wydawać tego ustawienia na każde połączenie.

Próbowałem z różnymi formami, ale nie działa:

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

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

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

Nie chcę, aby zmienić komponent CSS, ponieważ obecnie korzystać z tego samego poprzez Bower.

+0

czy wiążesz fancybox z różnymi selektorami? – JFK

+0

@JFK Tak, dla wielu różnych selektorów. –

Odpowiedz

0

Mogłeś setup obiekt z tym ustawieniem, które można używać w całej swojej fancybox wzywa:

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

Jeśli trzeba ustawić ustawienia dla konkretnego fancybox, można rozszerzyć przedmiot:

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