Fancybox调整大小

时间:2010-08-18 16:04:54

标签: fancybox

我正在使用一个可以显示图像,youtube视频链接和其他视频的精美框。用户可以在花式框中导航以转到下一个显示或先前的显示。我的问题是花哨的盒子没有根据显示的内容重新调整大小。我的代码如下:

$.fancybox(href,{
                'autoScale': true,
                'autoDimensions': true,
                'padding': 30,
                'transitionIn': 'none',
                'transitionOut': 'none',
                'type': 'iframe', //'iframe', //'image',
                'changeFade': 300,
                'cyclic': false,                  

            });

我试过通过调用“onComplete”中的函数来解决这个问题,但到目前为止还没有成功。请提供几点意见。

由于

4 个答案:

答案 0 :(得分:1)

将“autoScale”设置为false应该有效...

答案 1 :(得分:0)

我不是网络开发者,但是documentation说:

$.fancybox.resize      Auto-resizes FancyBox height to match height of content 

这就是你想要的吗?

答案 2 :(得分:0)

你需要在旧的fancybox中调用一个新的fancybox。如果你从第一个中打开一个新的fancybox,它将自己调整大小。尝试:

<script type="text/javascript">
$(document).ready(function() {
  var content = '
  <div id="nextbox">Box 1</div>

  <script type="text/javascript">
  $("#nextbox").click(function() {
    $.fancybox('Box2',{
      'autoDimensions': false,
      'height' : 400,
      'width' :400
    });
  });
  </script>
  ';

  $.fancybox(content,{
    'autoDimensions': false,
    'height' : 200,
    'width' : 200
  });

</script>

这将打开一个名为“Box 1”的花式框。单击“Box 1”时,它将从200px调整为200px,调整为400px,调整为400px,并将文本更改为“Box 2”。你可以随意为多个盒子继续这样做。

我看到这个问题已经过时了,但是希望有人可以使用这个,因为我在很长一段时间内都在努力寻找如何在启动后重新调整fancybox的大小。

答案 3 :(得分:0)

在我使用Fancybox 2的情况下,该设置被称为fitToView

将其设为真

这是我用来启动fancybox的东西,你不需要把它准备好了

(function($){
    $(document).on('click','.fancybox',function(e){
        //don't follow link
        e.preventDefault();

        //update fancybox image registry for gallery and open it
        var fbox = $('.fancybox');
        //this always opens the first image first
        $.fancybox(fbox,{
            index: fbox.index(this),
            padding: 5,
            live: false,
            helpers : {
                overlay : {
                    css : {
                        'background-color' : 'rgba(17, 17, 17, 0.3)',
                    },
                    closeClick: true,
                    showEarly : true,
                    locked : false //if true, causes background to jump
                },
                thumbs  : {
                    width   : 140,
                    height  : 100,
                    source  : function(item) {
                        var href = $(item.element).data('thumb');
                        if(typeof href === 'undefined'){
                            if (item.element) {
                                href = $(item.element).find('img').attr('src');
                            }
                            if (!href && item.type === 'image' && item.href) {
                                href = item.href;
                            }
                        }
                        return href;
                    }
                }
            },
            scrolling: 'visible',
            fitToView: true,
            iframe:{
                scrolling : 'auto',
                preload   : false
            }
        });
    });
})(jQuery);