在AJAX模式中使用Slick Carousel的问题(Foundation Reveal)

时间:2015-03-04 01:26:38

标签: ajax zurb-foundation slick.js zurb-reveal

我正在使用Reveal来显示更多信息,其中有一个使用Slick的旋转木马。 Reveal模式中的内容通过AJAX拉入。

我看到的问题是,当Reveal打开时,轮播在没有第一张图像的情况下加载,移动到第二张图像(加载有延迟),然后在此之后正常工作。以下是一段简短视频:http://cl.ly/323s1T1x3I21

我不确定如何让图像更快地加载。

我的代码看起来像以下......

网页代码:

<div class="row">
<div class="large-16 columns right">
    <h4>...</h4>

    <p>... <a href="http://url/to/data" data-reveal-id="modal-vineyard" data-reveal-ajax="true" class="learn-more">Learn More&#160;&raquo;</a></p>
</div>

<div class="large-8 columns left">            
    ...
</div>

进入页面的代码:

<div class="inner-carousel">
    <div><img src="blah..."></div>
    <div><img src="blah..."></div>
</div>

<!-- not including this results in slick not working at all -->
<script>
  $(document).ready(function() {
    $('.inner-carousel').slick({
      autoplay: true,
      autoplaySpeed: 4000,
      arrows: false,
      centerMode: true,
      dots: true,
      fade: true,
      speed: 1000,
      swipeToSlide: true
    });
  }); // end ready
</script>

不确定如何解决。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

所以JS必须改变如下:

$("#modal-vineyard").on("opened", function() {
        // $(".inner-carousel").slick("setPosition", 0);
        $('.inner-carousel').slick({
          setPosition: 0,
          autoplay: true,
          autoplaySpeed: 4000,
          arrows: false,
          centerMode: true,
          dots: true,
          fade: true,
          speed: 1000,
          swipeToSlide: true
        });
    });

此处有更多信息:http://foundation.zurb.com/forum/posts/23183