当前位置: 首页 > 知识库问答 >
问题:

Slick Carousel未捕获的TypeError:$(…)。Slick不是函数

薛朝
2023-03-14

不知何故,我无法正确使用slick carousel(http://kenwheeler.github.io/slick/)。

我得到以下错误:

Uncaught TypeError: $(...).slick is not a function

我正在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>'
    });
}

我已经在Bower中包含了最新的jQuery版本(2.1.4)。我还尝试在布局模板文件的头部包含jQuery CDN,但这也没有解决任何问题。

唯一奇怪的是,当我不使用函数来调用滑块时,它确实起作用,但它给了我一个错误:

Uncaught TypeError: Cannot read property 'add' of null

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

提前道谢!

编辑:我已经从代码https://jsfidle.net/brz30e77/创建了一个JSFiddle

Edit2:在我的JS文件中添加新函数时,这个错误时不时会出现。我最终剥离了连接的JS文件,发现加载了两个jQuery版本,其中一个版本非常非常旧。

共有2个答案

杨鸿畅
2023-03-14

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

找到了一个有趣的解决方法。希望,它可能对某人有用。

在我的特殊情况下,有:jQuery+WHMCS+Slick。它正常独立工作,没有WHMC。但在集成到WHMCS之后,将出现错误。

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

例如:您的代码:

$(document).ready(function() { 
  $('a').click( function(event) {
    $(this).hide();
    event.preventDefault();
  });
});

无冲突模式下的代码:

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

解决方案可在以下网址找到:http://zenverse.net/jquery-how-to-fix-the-is-not-a-function-error-using-noconflict/

赵献
2023-03-14

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

在我的JS文件中添加新函数时,错误不时地持续存在。我最终删除了连接的JS文件,发现加载了两个版本的jQuery,其中一个非常非常旧。

 类似资料:
  • 问题内容: 我是jQuery的新手,并在旧的教程上使用了以下代码段: 但是我得到这个错误 未捕获的TypeError:$ .ajax(…)。成功不是函数 在 我想知道这里有什么问题吗? 问题答案: 对ajax的调用应如下所示: 您没有方法链接成功函数,它是字典参数中的条目之一。

  • 我正在使用InstaFeed从Instagram获取图片并在网站上展示。 这是我的代码: 我对JS和JQuery很陌生,但我不知道为什么会出现这个错误。错误在以下行: var images=$(“#instafeed”)。find('a');

  • 所以我想使用Apollo客户机react钩子“usequery”查询运行Apollo服务器的graphql后端。 但定义的查询常量将返回一个错误,即:uncattle typeerror:(...)不是一个函数,因此页面根本不会呈现。 我的ApolloClient和提供程序设置如下: 组件/游戏/gamePage.js: 当加载应用程序时,它会给我上面提到的错误。我就像在两个小时内谷歌和YouTu

  • 问题内容: 我正在努力推动 作为新的ID和json字符串的值。但是它给出了以下错误 提前谢谢您的回复 问题答案: 要使用Array的push函数,您的var必须是一个Array。 更改为以下内容: 包含的数组项将是typeof对象,您可以执行以下操作: 注意:请保持一致。在我的示例中,一个数组包含对象属性,而另一个仅包含对象属性。如果我使用或进行迭代,那么我将无法始终检查一个属性,因为我的示例包含

  • 我在控制台中得到以下错误:。 也许问题出在不推荐的JSXTransformer上(https://facebook.github.io/react/blog/2015/06/12/deprecating-jstransform-and-react-tools.html)。建议使用Babel代替(在我的例子中,使用Babel!view/todolist代替jsx!view/todolist)。我对此

  • 对于提交另一个未捕获的TypeError我感到很糟糕:未定义不是一个函数问题。但是,在阅读了大约20种不同的答案后,我不是错过了重点,就是问题在这些情况下是不同的。 我有一个有两个单选按钮的表单。单击一个时,我希望它更改标记的innerHTML。 这是我的小提琴。 HTML: JavaScript: 我尝试了几个不同的版本,比如使用属性和创建命名函数。它们都给了我同样的错误。非常感谢您帮助我了解我