在 Iframe 中使用 Jquery Fancybox resize() 函数?

发布于 2024-09-19 10:47:27 字数 197 浏览 5 评论 0原文

我是 Jquery 的初学者,我在 PHP 应用程序中使用 Fancybox(类型:iframe)。

在 iframe 内,有一个表单,一旦用户填写并显示提交表单后,Fancybox 应调整大小以容纳表单数据处理后将转发回来的数据。

我还希望用户关闭 Fancybox 警报后刷新网站的主页。

这怎么能做到呢?

谢谢

I am a beginner with Jquery and I am using Fancybox (type: iframe) within my PHP application.

Within the iframe, there is a form, once the user has filled & submitted the form, the Fancybox should resize so as to accomodate the data which will be relayed back once the formdata has been processed.

And I would also like the main page of the site to refresh once the user closes the Fancybox alert.

How can this be done?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风铃鹿 2024-09-26 10:47:42

我只需要处理同样的问题,我通过为 FancyBox 创建一些辅助函数来解决它。 fb_resize(w,h) 函数调整 fancybox-content div 的大小,然后调用 $.fancybox.resize() 来调整修改后的内容。可以从任何内容(包括 iFrame)中调用 fb_close_any()fb_resize_any(w,h) 函数来关闭 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+')');
}

I just had to deal with the same question, and I solved it by creating some helper functions for FancyBox. The fb_resize(w,h) function resizes the fancybox-content div then calls $.fancybox.resize() to adjust for the modified content. The fb_close_any() and fb_resize_any(w,h) functions can be called from within any content, including an iFrame, to close or resize the 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+')');
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文