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被加载,其中一个非常非常老.
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/
不查看完整代码很难判断,但是这种类型的错误
Uncaught TypeError: $(...).slick is not a function
Run Code Online (Sandbox Code Playgroud)
通常意味着您忘记在页面中包含 slick.js 或在 jquery 之前包含它。
确保 jquery 是第一个 js 文件,并且在其后包含 slick.js 库。