Slick Carousel Uncaught TypeError:$(...).slick不是一个函数

San*_*ish 32 javascript jquery typeerror slick.js

不知怎的,我无法正确使用光滑的旋转木马(http://kenwheeler.github.io/slick/).

我收到以下错误:

Uncaught TypeError: $(...).slick is not a function
Run Code Online (Sandbox Code Playgroud)

我在我的javascript文件中运行以下代码:

function initSlider(){
    $('.references').slick({
        dots: false,
        infinite: true,
        speed: 300,
        slidesToShow: 1,
        autoplay: true,
        prevArrow: '<div class="slick-prev"><i class="fa fa-chevron-left"></i></div>',
        nextArrow: '<div class="slick-next"><i class="fa fa-chevron-right"></i></div>'
    });
}
Run Code Online (Sandbox Code Playgroud)

我已经将最新的jQuery版本(2.1.4)与bower一起包含在内.我也尝试在我的布局模板文件的头部包含jQuery CDN,但这也没有解决任何问题.

唯一可能意味着什么是奇怪的是,当我不使用函数调用滑块时,它确实有效,但它给了我错误:

Uncaught TypeError: Cannot read property 'add' of null
Run Code Online (Sandbox Code Playgroud)

我发现这意味着代码已经在加载DOM之前加载了,这是正确的(我认为).

提前致谢!

编辑:我从我的代码创建了一个JSFiddle:https://jsfiddle.net/brz30e77/

EDIT2:在我的JS文件中添加新函数时,错误一直存在.我最终剥离了我的串联JS文件,发现有两个版本的jQuery被加载,其中一个非常非常老.

San*_*ish 40

我后来自己找到了解决方案,所以我把它作为答案:

在我的JS文件中添加新函数时,错误一直存在.我最终删除了我的串联JS文件,发现有两个版本的jQuery被加载,其中一个非常非常老.

  • 感谢您回来并给出您的答案 - 我做了_exact_同样的事情我有一个包含另一个Jquery CDN引用的模板,它正在阻止它在我需要它的页面上运行. (2认同)

ale*_*ize 19

最近遇到了同样的问题:TypeError:$(...).slick不是一个函数

找到一个有趣的解决方 希望,对某些人来说可能有用.

在我的特殊情况下有:jQuery + WHMCS +光滑.它可以正常独立运行,没有WHMCS.但在与WHMCS集成后会出现错误.

解决方案是在noConflict模式下使用jQuery.

例如:你的代码:

$(document).ready(function() { 
  $('a').click( function(event) {
    $(this).hide();
    event.preventDefault();
  });
});
Run Code Online (Sandbox Code Playgroud)

noConflict模式下的代码:

var $jq = jQuery.noConflict();
$jq(document).ready(function() { 
  $jq('a').click( function(event) {
    $jq(this).hide();
    event.preventDefault();
  });
});
Run Code Online (Sandbox Code Playgroud)

解决方案在这里找到:http: //zenverse.net/jquery-how-to-fix-the-is-not-a-function-error-using-noconflict/


Fed*_*ust 8

不查看完整代码很难判断,但是这种类型的错误

Uncaught TypeError: $(...).slick is not a function
Run Code Online (Sandbox Code Playgroud)

通常意味着您忘记在页面中包含 slick.js 或在 jquery 之前包含它。

确保 jquery 是第一个 js 文件,并且在其后包含 slick.js 库。


Dre*_*ams 6

我认为这对其他有相同问题的人会有所帮助-我遇到了这个问题,但是发现我在main.js之后调用了slick()函数,然后加载了slick.js。交换了两个,效果很好


Joy*_*Joy 5

您无法加载slick.js文件。添加此脚本文件https://kenwheeler.github.io/slick/slick/slick.js

我通过在左侧边栏中添加外部文件来更新您的JSFiddleExternal Resources。然后它不会报告错误:$(...).slick is not a function