2011-09-15 12 views
5

Sto usando jQuery Fancybox per visualizzare i moduli in una finestra modale. Sto utilizzando il seguente codice:Regola dinamicamente l'altezza iframe di jQuery Fancybox in base al contenuto modificato all'interno di

$("a.iframe").fancybox({ 
'padding': 0, 
'width': 650, 
'showCloseButton': false, 
'hideOnContentClick': false, 
'transitionIn': 'elastic', 
'transitionOut': 'elastic', 
'onComplete': function() { 
    $('#fancybox-frame').load(function() { 
    $('#fancybox-content').height($(this).contents().find('body').height() + 20); 
    }); 
} 
}); 

Con la funzione onComplete aggiuntiva, sono in grado di regolare l'altezza del iframe di conseguenza per l'altezza del contenuto all'interno.

Tuttavia, ho nascosto alcuni elementi con jQuery's .hide() all'interno dell'iframe. Ogni volta che voglio .show() questi elementi, l'iframe stesso non viene ridimensionato insieme all'altezza extra degli elementi ora visibili.

Come posso realizzare questo? Grazie!

+1

penso che questa tendenza ha la risposta alla vostra domanda: [Problema Regolazione Fancybox Iframe Overlay larghezza e l'altezza] (http://stackoverflow.com/questions/6048216/problem-adjusting-fancybox-iframe-overlay -larghezza e altezza) – JAY

risposta

2

Mettere la seguente funzione alla pagina

$.fn.ResizeFancy = function(){ 
    $('#fancybox-content').height($('#fancybox-frame').contents().find('body').height() + 20); 
}; 

Dopo, innescare questa funzione per la vostra funzione MostrareNascondere. Per esempio;

function yourShowHideFn(){ 
    //bla bla bla 

    $.fn.ResizeFancy(); 
} 
Problemi correlati