Fancybox不会尊重身高

时间:2011-12-20 08:39:09

标签: javascript jquery height 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();});

与第一个例子给出相同的结果

3 个答案:

答案 0 :(得分:1)

您可以尝试使用公共方法 resize ,一旦加载了内容,请参阅方法说明:

* 自动调整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 - 显示内容后将调用

答案 1 :(得分:0)

我认为你在这里遇到的问题实际上是在iFrame里面而不是fancybox。 iframe不会根据其中的内容大小设置其维度。我的建议是避免使用iframe,因为它们几乎总是有问题的

答案 2 :(得分:0)

  1. 有时会因缩放而发生。
  2. 您可以尝试更新'height' : '400px'吗?它可能有用。