slickGoTo行导致未捕获的TypeError

问题描述 投票:0回答:1

我无法通过添加下面的slickGoTo线来随机化滑动旋转木马(http://kenwheeler.github.io/slick/)的第一张幻灯片。

我收到以下Chrome控制台错误:

Uncaught TypeError: $(...).slick(...).slickGoTo is not a function  
  at HTMLDocument.<anonymous> (script-new.js:18)  
  at i (jquery.min.js:2)  
  at Object.fireWith [as resolveWith] (jquery.min.js:2)  
  at Function.ready (jquery.min.js:2)  
  at HTMLDocument.K (jquery.min.js:2)  

我正在运行以下javascript代码:

// get the number of slides
var total = $('.slide').length;

// random number
var rand = Math.floor( Math.random() * total );

$(document).ready(function(){
  $('.slider').slick({
    autoplay: true,
    autoplaySpeed: 7000,
    arrows:true,
    fade: true,
    slide:".slide",
    pauseOnHover:false,
    adaptiveHeight: true,
    dots: true
  })
  .slickGoTo(rand); // navigate to random slide
});

我正在使用jQuery版本1.12.1和Slick版本1.6。我想在页面加载时显示随机幻灯片,但幻灯片序列保持不变。

javascript jquery slick.js uncaught-typeerror
1个回答
1
投票

正如documentation所述,

在版本1.4中通过光滑方法本身调用方法

这意味着您必须使用slick(作为参数传递的方法名称如下:

$('.slide').slick().slick('slickGoTo', Math.floor((Math.random() * 3) + 1));
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js"></script>
<script type="text/javascript" src="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>
	
<div class="slide">
  <div>
    1
  </div>
  <div>
    2
  </div>
  <div>
    3
  </div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.