Comment redimensionner Fancybox au moment de l'exécution?
Personne ne sait comment faire pour redimensionner le jQuery, Fancybox au cours de l'exécution?
Lors de l'initialisation de la fancybox je peux le faire:
$("tag").fancybox({ 'frameWidth': 500, 'frameHeight': 700 });
Je suis remplissage de la fancybox avec du contenu dynamique et je veux redimensionner en fonction du contenu.
- tu ne peux pas définir le contenu et l'appel fancybox à nouveau?
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez la version 1.3 de Fancybox, il y a une méthode de redimensionnement:
Pour la version 2.x de Fancybox la même chose serait fait avec:
Qui va redimensionner l'actif fancybox basé sur la taille du contenu à l'intérieur.
Alan solution est incomplète, car la boîte n'est plus centré sur l'écran après la modification de la taille (au moins avec la dernière et jquery fancybox versions).
Donc, la solution complète serait:
$("#fancybox-wrap").largeur(width); //ou la hauteur ou que ce soit
$.fancybox.centre();
Hey, après les combats près de deux jours, j'ai réussi à changer la superposition de hauteur. J'espère que cela peut vous être utile :
Ce que ce code fait est, il faut d'abord calculer la hauteur du corps, de l' #fancybox-contenu et #fancybox-overlay. Ensuite, il vérifie si le corps est d'une hauteur inférieure à la superposition de la hauteur, si oui, alors il attribuer de nouvelles calculée à hauteur de superposition sinon il prendre corps par défaut, la hauteur d'
Je veux juste vous faire savoir.
Après la recherche de solutions à l'aide de javascript pour ajuster la hauteur de moi et mon partenaire a réalisé quelque chose de magnifique.
Vérifier si la, contenant les éléments d' #fancybox-intérieure a REMBOURRAGE ou de la MARGE de définir.
C'est l'élément clé (les enfants directs d' #fancybox-intérieure margin/padding définition.
Les enfants des éléments (#fancyfox-intérieur > div > .ici) peut avoir de remplissage, mais n'oubliez pas d'ajuster:
J'ai trouvé une solution à ce bug après avoir cherché pendant un long moment dans Google mais ne trouve rien.
Pour redimensionner la zone de la largeur et de la hauteur de la page et centre, ce faire:
Si Fancybox faisait partie de jQuery UI, vous auriez du faire comme ceci:
Mais comme il ne semble pas fournir une telle méthode, vous devez définir le CSS directement:
et de l'appeler sur des événements lorsque vous en avez besoin... (eg. uploadify onSelect event -> longue liste de fichiers rend fancybox si grande, et l'on calcule la hauteur de nouveau)
$.fancybox.resize(); ne fonctionne pas pour moi, donc j'ai mis ce code dans la page chargée, à l'intérieur de la fancybox iframe :
Vous pouvez également définir un rappel :
J'ai du mal avec le redimensionnement fancybox trop.
La Solution est
$.fancybox.reposition();
Fonctionne comme un charme!
Ma solution était comme cela (pour fancybox 1.3.4):
trouver
et de le remplacer avec
Cette méthode fonctionne pour moi. 🙂
Je viens de poster une suggestion de patch pour Fancybox sur son Groupe Google https://groups.google.com/forum/#!topic/fancybox/fuUuBJyTrH8 qui ajoute une méthode publique $.fancybox.reshow(). Ce nouveau calcul de la hauteur et la largeur de la fancybox. Il fonctionne à la fois avec fenêtre.onorientationchange et de la fenêtre.onresize, par exemple:
C'est la solution de mon formulaire:
Merci à tous ceux qui contribue à StackOverflow.com. Vous avez tous été des maîtres-nageurs pour moi à plusieurs reprises. Maintenant, j'ai enfin l'occasion de contribuer à quelque chose. Ci-dessous comment j'ai pu venir plus de redimensionnement fancybox au moment de l'exécution quandry:
J'ai affecté le href de l'élément attributs spécifiques à la dimension PHP vars est passé.
Alors appelés et mis à l'attribut dans un clic-event, avec fancybox fonction de contrôle et les paramètres intégrés au sein de...
Dans mon cas, j'utilise Fancybox pour afficher une très simple page web qui contient simplement une image. Cette image pourrait varier en taille. Mon problème est que l'image ne comprend pas
style="height: NNpx; width: NNpx;"
. Sans cela, le fancybox autoSize peut donner des résultats inattendus (indiqué dans leurs docs http://fancyapps.com/fancybox/ ).tl;dr: fournir des attributs width et height pour un redimensionnement automatique fonctionne correctement.
Sur Fancybox 3 (dernière version)
Ref: http://fancyapps.com/fancybox/3/docs/#iframe
Utilisation: