fancybox自动调整大小限制

时间:2010-12-09 20:10:11

标签: jquery html fancybox

所以我们都知道fancybox已经调整了功能,这很棒, 但如果内容大于您的屏幕,它也会调整大小,您必须向下滚动浏览器滚动条,而不是使用fancybox滚动条。

要在没有快速混乱的情况下调整大小,我确实喜欢这样。

<script type="text/javascript">
    jQuery(document).ready(function() {
        $('MyTagValue').fancybox(
        {
            'titlePosition' : 'inside',
            'transitionIn'  : 'fade',
            'transitionOut' : 'fade',
            'onStart' : function()
            { 
                $('#MyTagStyle').css(
                {
                    marginLeft: '-10000px'
                }); 
            }, 
            'onComplete' : function()
            { 
                $.fancybox.resize(); 
                $('#MyTagStyle').css(
                {
                    marginLeft: '0px'
                }); 
            }  
        });
    });
</script>

所以我的问题是如何在浏览器屏幕中调整大小,或者不超过特定值,f.ex我想自动调整大小,但不超过宽度:800px;和身高:900px;

说明我现在拥有的东西,以及我想要实现的目标,这里有一些屏幕:

当前 alt text

通缉: alt text

有什么想法吗?

2 个答案:

答案 0 :(得分:8)

FancyBox作为内置方法设置宽度和高度到生成的“窗口”以保存内容...查看网站以获取进一步说明,但这里有一个点击:

// initialize popup iframe (fancybox)
$(".popupIframe").fancybox({
    'autoDimensions': false,
    'padding'       : 0,
    'width'         : 940,
    'height'        : 400,
    'autoScale'     : false,
    'transitionIn'  : 'none',
    'transitionOut' : 'none',
    'type'          : 'iframe'
});

这里我设置一个弹出的固定940px乘400px(它也可以是%值)...如果内容比fancybox持有者大,它将在同一个持有者上生成滚动条而不是文件本身!!!

PS:如果我正确地读了你的问题!

答案 1 :(得分:0)

通过编辑MyTagStyle解决了这个问题:

.MyTagStyle
{
    max-height:600px;
    max-width:940px;
    overflow:auto;
}