Регулирайте височината на iframe на jQuery Fancybox динамично според промененото съдържание вътре

Използвам jQuery Fancybox за показване на формуляри в модален прозорец. Използвам следния код:

$("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);
  });
}
});

С допълнителната функция onComplete мога да регулирам височината на iframe според височината на съдържанието вътре.

Въпреки това скрих няколко елемента с .hide() на jQuery вътре в iframe. Всеки път, когато искам да .show() тези елементи, самият iframe не се преоразмерява заедно с допълнителната височина на вече видимите елементи.

Как мога да постигна това? Благодаря!


person Martijn van Turnhout    schedule 15.09.2011    source източник
comment
Мисля, че тази тенденция има отговора на вашето искане: Проблем с регулирането на наслагването на Fancybox iframe Ширина и Височина   -  person JAY    schedule 16.12.2011


Отговори (1)


Поставете следната функция на страницата

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

След това задействайте тази функция във вашата функция showHide. Например;

function yourShowHideFn(){
    //bla bla bla

    $.fn.ResizeFancy();
}
person Sedat Kumcu    schedule 26.03.2013