2011-12-20 80 views
2

,如果我不设置框的高度,并通过保留默认值:滚动条显示为框不够大的fancybox不尊重高度

enter image description here

$('#newsletter').fancybox({ 
        'type'    : 'iframe', 
        'href'   : 'http://es.solmelia.com/nSubscriber/jsp/C_Subscribe_Newsletter.jsp', 


       }); 

如果我将其设置为400:

enter image description here

$('#newsletter').fancybox({ 
        'type'    : 'iframe', 
        'href'   : 'http://es.solmelia.com/nSubscriber/jsp/C_Subscribe_Newsletter.jsp', 
        'padding' : '20', 
        'height' : '400' 

       }); 

(看起来更强壮ŧ韩400)

也试过

$('#newsletter').fancybox({ 
        'type'    : 'iframe', 
        'href'   : 'http://es.solmelia.com/nSubscriber/jsp/C_Subscribe_Newsletter.jsp', 
        'height' : '400px', 
        'transitionIn' : 'elastic', 
       },function(){$.fancybox.resize();}); 

至极给出相同的结果,第一个例子

回答

1

您可以尝试使用公共方法调整,一旦内容已经被加载,请参阅方法描述:

* 自动调整大小的fancybox高度匹配的内容

参考高度:http://fancybox.net/api

方法用法:$.fancybox.resize();

你可以尝试什么:

$('#newsletter').fancybox({ 
         'type'   : 'iframe', 
         'href'   : 'http://es.solmelia.com/nSubscriber/jsp/C_Subscribe_Newsletter.jsp', 
         'scrolling'  : 'no', 
         onComplete : function(){ $.fancybox.resize();} 
       }); 

的onComplete - 将被调用一次的内容显示

+0

嗨!谢谢,但它保持与没有高度设置方面... – 2011-12-20 08:54:00

+0

你到底在哪里添加调整大小的方法,你什么时候调用它? – 2011-12-20 08:56:37

+0

问题编辑代码 – 2011-12-20 08:56:51

0

我觉得你这里的问题其实是没有的iFrame里面的fancybox。 iframe不会根据内容大小来设置尺寸。我的建议是避免iframe,因为它们几乎总是有问题的

+0

感谢您的建议,但和我怎么可能有不适合iframe打开呢? – 2011-12-20 08:55:06

+0

您可以通过ajax获取内容并将其包装在自己的窗体标签中(除非您使用的是ASP.NET并且在页面上有另一个窗体标签)。这是一件相当棘手的事情,特别是顺利。如果你想保留iframe,你必须手动设置iframe的大小(当你从不同的站点加载内容到当前的内容时,你不能动态地设置它) – 2011-12-20 09:02:19

0
  1. 有时,它是由于缩放而发生的。
  2. 你可以试试更新'height' : '400px'。它可能有用。
+0

像素在它不工作的值... – 2011-12-20 08:54:34