在单张幻灯片的自动播放模式下使用 slick.js

Using slick.js in autoplay mode for a single slide

我想将 slick.js 用于简单的新闻行情。所以我有一个框,其中文本来自右侧并在循环中自动滚动到左侧。问题是如果只有一张幻灯片,slick.js 拒绝移动文本。我希望幻灯片从右向左移动,经过左边缘后它应该再次从右开始移动。有谁知道如何实现这一目标?这里有一点 fiddle 显示了我的问题。它使用此 javascript 代码:

$(function(){
    $('.slider').slick({
        speed: 10000,
        autoplay: true,
        autoplaySpeed: 0,
        cssEase: 'linear',
        slidesToShow: 1,
        slidesToScroll: 1,
        variableWidth: true,
        infinite: true
    });
});

看起来 slick carousel 并不是为仅使用一个元素而构建的。如何使用 jQuery 克隆您的幻灯片一次以便插件工作?请参阅下面的功能示例:

$(function() {
  if ($('.slider div').length == 1) {
      $('.slider div').clone().appendTo('.slider');
  }
  $('.slider').slick({
    speed: 10000,
    autoplay: true,
    autoplaySpeed: 0,
    cssEase: 'linear',
    slidesToShow: 1,
    slidesToScroll: 1,
    variableWidth: true,
    infinite: true
  });
});
img {
  margin: 10px;
  border: 1px solid black;
}
<link rel="stylesheet" type="text/css" href="http://kenwheeler.github.io/slick/slick/slick.css">
<link rel="stylesheet" type="text/css" href="http://kenwheeler.github.io/slick/slick/slick-theme.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="http://kenwheeler.github.io/slick/slick/slick.js"></script>

<section class="slider">
  <div>
    <img src="http://placehold.it/350x150" />
  </div>
</section>

乔恩的回答很好,但它会给你两张相同的幻灯片,你可以滑动(更改)。如果您希望在不克隆的情况下显示单张幻灯片,您可以使用 initialSlide 设置。

$(function() {
    var start = 0;

  if ($('.slider div').length == 1) {
      start = -1;
  }

  $('.slider').slick({
    speed: 10000,
    autoplay: true,
    autoplaySpeed: 0,
    cssEase: 'linear',
    slidesToShow: 1,
    slidesToScroll: 1,
    variableWidth: true,
    infinite: true,
    initialSlide: start
  });
});