2010-09-13 2 views
2

Я начинаю с JQuery, и я использую Fancybox (type: iframe) в моем приложении PHP.Использование функции jquery Fancybox resize() в iframe?

Внутри iframe существует форма, после того как пользователь заполнил &, представив форму, Fancybox должен изменить размер, чтобы разместить данные, которые будут переданы обратно после обработки данных formdata.

И мне также хотелось бы, чтобы главная страница сайта обновилась, как только пользователь закроет оповещение Fancybox.

Как это можно сделать?

Благодаря

ответ

3

Я просто должен был иметь дело с тем же вопросом, и я решил его, создав несколько вспомогательных функций для FancyBox. Функция fb_resize (w, h) изменяет размер div fboxbox-content, а затем вызывает $ .fancybox.resize(), чтобы настроить измененный контент. fb_close_any() и fb_resize_any (w, h) функции могут быть вызваны из любого содержимого, включая iFrame, для закрытия или изменения размера fancybox.

function fb_resize(w, h) { 
    if (w > 0 || h > 0) { 
    if (w > 0) $('#fancybox-content').css({ width: w+"px"}); 
    if (h > 0) $('#fancybox-content').css({ height: h+"px"}); 
    $.fancybox.resize(); 
    } 
} 

function fb_close_any() { 
    window.top.eval('$.fancybox.close()'); 
} 

function fb_resize_any(w, h) { 
    w = (w > 0) ? w : 0; 
    h = (h > 0) ? h : 0; 
    window.top.eval('fb_resize('+w+','+h+')'); 
} 
+0

Что такое eval()? – james

+0

@james: http://www.blog.exotec.de/?p=493 – testing

Смежные вопросы