7
votes

FANCYBOX - Mise à jour de la taille de FANCYBOX avec contenu IFrame?

sur mon site, j'ouvre une fantaisie contenant du contenu iframe. Est-il possible de mettre à jour la taille de la fantaisie lorsqu'un lien est cliqué sur celui-ci?

Par exemple, je l'ai défini sur 535px largeur initialement, lorsqu'un lien spécifique est cliqué, j'aimerais que la fantaisie redimensionne à 900 px largeur.

Une idée de la façon dont je peux y parvenir?

merci!


0 commentaires

5 Réponses :


0
votes
$('a', $('#youriframeID').contentDocument).bind('click', function() {
    preventDefault();
    $('#yourIframeID').attr('src', $(this).attr('href'));
    $('#yourIframeID').load(function() {
        $.fancybox.resize;
    });
});
If an 'a' is clicked within your iframe, the default events will be blocked. Instead, we change the src of your iframe. When it's loaded, #.fancybox.resize will automatically resize the fancybox in respect to the content. This is an idea, so the code will probably not yet work. Just to help you get on the right track.

0 commentaires

18
votes

Je pense que j'ai juste le même problème et dans mon cas, Fancybox.Resize n'a pas fonctionné, mais cela a fonctionné pour moi:

$("#lightbox").fancybox({
  'hideOnContentClick' : true,
  'width' : 500,
  'type' : 'iframe',
  'padding' : 35,
  'onComplete' : function() {
    $('#fancybox-frame').load(function() { // wait for frame to load and then gets it's height
      $('#fancybox-content').height($(this).contents().find('body').height()+30);
    });
  }
});


2 commentaires

FANCYBOX V2-Version: `$ ('. FANCYBOX'). FANCYBOX ({Type: 'Iframe', Aftershow: Fonction () {$ ('. Fancybox-iframe'). Charge (Fonction (". Fondée -inner '). Hauteur ($ (ceci) .Contents (). Trouver (Bo Dy'). Hauteur () + 30);});}}); `


@Adrianvanvliet où puis-je ajouter ce code pour WordPress Plugin of Fancy Box?



3
votes

Pour ceux qui pourraient venir ici à l'aide de FANCYBOX 2:

Ceci est le code qui a fonctionné pour moi xxx


1 commentaires

Définition de la hauteur et de la largeur travaillées pour moi, même avec AutoSize: True



-1
votes

Cela fonctionne pour moi sur FANCYBOX V2.1.4

$('#myid').fancybox({
    closeBtn    : false,
    padding     : 0,
    preload     : true,
    onUpdate    : function(){
        $.fancybox.update();
    }
});


1 commentaires

Ajouter $. FANCYBOX.UPDATE () AUX ONUPDATE Le gestionnaire d'événements provoquera une boucle infinie qui mangera votre CPU. Voici une expérience, ajoutez une ligne ci-dessus console.log ("mise à jour déclenchée"); à l'aide de la console de navigateur Voir combien de fois appelé ...