jQuery循环+ Fancybox插件框架大小问题

时间:2012-11-02 20:13:43

标签: jquery fancybox jquery-cycle

我正在尝试将jQuery Cycle插件与Fancybox插件一起使用。几乎所有事情都在这一点上起作用; fancybox打开,显示内容,内容循环。我遇到的问题是容器没有自动调整大小以适应图像。我的代码:

<script type="text/javascript" src="/assets/scripts/jquery.cycle.lite.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("#launcher").fancybox({
        autoScale: true
    });
})
$(function(){
    $('#slides').cycle({ 
    timeout:    8000,
    speed:      1000,
    pause: true,
    containerResize: 1,
    fit: 1
    });
});
</script>

   <div id="launcher">
      <div id="slides">
          <img src="/assets/images/VideoSlides/slide1.png">
          <img src="/assets/images/VideoSlides/slide2.png">
          <img src="/assets/images/VideoSlides/slide3.png">
      </div>
   </div>

正如您所看到的,我已经尝试将各种属性添加到函数中以强制它自动调整大小但它们没有任何效果。设置div的样式会相应地调整框架的大小,但我宁愿没有固定大小的框架。以前有人做过这样的事吗?

1 个答案:

答案 0 :(得分:1)

我认为没有简单的解决方案如何组合这两个插件,以便fancyBox在Cycle更改下一个图像之前调整大小。

但是,fancyBox2已经内置了幻灯片,为什么不使用它呢?您可以使用“autoPlay”选项在开始时激活它,并使用“playSpeed”来改变速度。快速举例:

$("#launcher").click(function() {

    $.fancybox.open( $("#slides img"), {
        autoPlay   : true,
        playSpeed  : 2000,
        prevEffect : 'fade',
        nextEffect : 'fade'
    });

    return false;
});

请参阅 - http://jsfiddle.net/3SQt4/