FancyBox размер ширина

Я могу изменить высоту с помощью $.fancybox.resize(); часть, но ширина просто не обновляется в соответствии с новым содержанием. Мысли?

5 ответов


С fancybox api docs:

$.fancybox.resize: "автоматическое изменение размера FancyBox высота для соответствия высоте содержимого."

таким образом, похоже, что он не предназначен для регулировки ширины.

если вы хотите изменить ширину, вы можете сделать это вручную изменение размера #fancybox-wrap и #fancybox-inner элементы. После очень быстрой проверки это выглядит как #fancybox-wrap установлено в 20px шире, чем #fancybox-inner:

$('#fancybox-inner').width(400);
$('#fancybox-wrap').width(420);

вы также можете контролировать ширина при первой регистрации fancybox с помощью :

$('#somelink').fancybox({ width: '100px' });

в новых версиях fancybox (1.3.4 в моем случае) используйте

$('#fancybox-content').width(600);

вместо

$('#fancybox-inner').width(400);

для ручной регулировки ширины


вот что сработало для меня:

$('#fancybox-wrap, #fancybox-outer, #fancybox-content').css('width', 'auto');
$.fancybox.center();

внесите некоторые изменения в jquery.fancybox.js около линии nubmer: 837 изменить

current.width = loadingBay.width();

to

current.width = loadingBay.width() + 2*current.padding;

это сработало хорошо для меня.


просто откройте jquery.fancybox.js и добавьте свою собственную ширину. Вот мой код с width = 72%.

// Reset dimensions so we could re-check actual size
        wrap.add(skin).add(inner).width('72%').height('auto').removeClass('fancybox-tmp');