FancyBox resize width

匆匆过客 提交于 2019-12-10 13:42:04

问题


I'm able to resize the height with the $.fancybox.resize(); part, but the width just doesn't update according to the new content. Thoughts?


回答1:


From the fancybox api docs:

$.fancybox.resize: "Auto-resizes FancyBox height to match height of content."

So it looks like it is not intended to adjust the width.

If you wish to adjust the width, you can do it by manually resizing the #fancybox-wrap and #fancybox-inner elements. After some very quick checking, it looks like #fancybox-wrap is set to 20px wider than #fancybox-inner:

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

You can also control the width when you first register fancybox using the width option:

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



回答2:


In newer versions of fancybox (1.3.4 in my case) use

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

instead of

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

for manually adjusting the width




回答3:


Here's what worked for me:

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



回答4:


make some changes in jquery.fancybox.js near about line nubmer:837 change

current.width = loadingBay.width();

to

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

it worked fine to me.




回答5:


Just open jquery.fancybox.js and add your own width. Here is my code with width = 72%.

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


来源:https://stackoverflow.com/questions/2398420/fancybox-resize-width

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!