2013-12-11 3 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 
})); 
Смежные вопросы