0

我正在尝试将 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 的样式都会相应地调整框架的大小,但我宁愿没有固定大小的框架。以前有人做过这样的事情吗?

4

1 回答 1

1

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

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

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

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

    return false;
});

见 - http://jsfiddle.net/3SQt4/

于 2012-11-02T23:01:03.017 回答