Je peux redimensionner la hauteur avec $.fancybox.resize();
Partie, mais la largeur ne se met pas à jour en fonction du nouveau contenu. Pensées?
De la fancybox api docs :
$.fancybox.resize
: "Redimensionne automatiquement la hauteur de FancyBox pour correspondre à la hauteur du contenu".
Il semble donc qu'il ne soit pas destiné à ajuster la largeur.
Si vous souhaitez ajuster la largeur, vous pouvez le faire en redimensionnant manuellement les éléments #fancybox-wrap
et #fancybox-inner
. Après une vérification très rapide, on dirait que #fancybox-wrap
est réglé sur 20px plus large que #fancybox-inner
:
$('#fancybox-inner').width(400); $('#fancybox-wrap').width(420);
Vous pouvez également contrôler la largeur lors de la première inscription de fancybox en utilisant l'option width
:
$('#somelink').fancybox({ width: '100px' });
Dans les versions plus récentes de fancybox (1.3.4 dans mon cas), utilisez
$('#fancybox-content').width(600);
au lieu de
$('#fancybox-inner').width(400);
Pour ajuster manuellement la largeur
Faire quelques changements dans jquery.fancybox.js près de l'abou line nubrificeur: 837 changement
current.width = loadingBay.width();
à
current.width = loadingBay.width() + 2*current.padding;
Ça m'a bien fonctionné.
Voici ce qui a fonctionné pour moi:
$('#fancybox-wrap, #fancybox-outer, #fancybox-content').css('width', 'auto'); $.fancybox.center();
Ouvrez jquery.fancybox.js et ajoutez votre propre largeur. Voici mon code avec largeur = 72%.
// Reset dimensions so we could re-check actual size wrap.add(skin).add(inner).width('72%').height('auto').removeClass('fancybox-tmp');