jQuery插件是未定义的,虽然在我的js代码之前被正确包含了
我正在处理这个好奇的问题好几天了,我真的不明白为什么会发生这种情况。jQuery插件是未定义的,虽然在我的js代码之前被正确包含了
基本上,环境是WordPress和我其中包括两个js文件:
vendor.js -> generated by gulp and all it does is concatenating bower libs together
myScript.js -> my code
我所知道的(与证明):
- 厂商文件包含我的代码之前(从检查控制台)
- 我正在使用的插件包含在vendor.js中(在chrome的新标签中打开文件)
- 这两个文件都正确加载(我打印了一些debu g控制台日志和他们在控制台)
但即使一切看起来都很好,插件仍然是未定义的,无论出于何种原因。 我使用这个插件是这一个:https://github.com/idiot/unslider
和我越来越控制台中的错误是这样的:
Uncaught ReferenceError: unslider is not defined
这是我的代码,我打电话需要这个插件的部分:
jQuery(document).ready(function($) {
console.log("unslider is ", unslider);
$('#topBannerSlider').unslider({
autoplay: true,
delay: 10000,
keys: true,
nav: true,
arrows: {
prev: '<a class="unslider-arrow prev fa fa-arrow-circle-left"></a>',
next: '<a class="unslider-arrow next fa fa-arrow-circle-right"></a>'
}
});
$('#homePageTestimonialsCarousel').unslider({
autoplay: true,
delay: 20000,
keys: true,
nav: true,
arrows: false
});
}
和它同样的,如果我尝试之前jQuery(document).ready()
事件加载它,就像这样:
console.log("unslider is ", unslider);
jQuery(document).ready(function($) {
$('#topBannerSlider').unslider({
autoplay: true,
delay: 10000,
keys: true,
nav: true,
arrows: {
prev: '<a class="unslider-arrow prev fa fa-arrow-circle-left"></a>',
next: '<a class="unslider-arrow next fa fa-arrow-circle-right"></a>'
}
});
$('#homePageTestimonialsCarousel').unslider({
autoplay: true,
delay: 20000,
keys: true,
nav: true,
arrows: false
});
}
你有什么建议吗?我还可以尝试什么?它还能是什么?我很困难,任何帮助将非常感激。非常感谢
如果我得到这个权利,你说的WordPress,所以尽量
jQuery
insted的的$
我以前有这个问题,这解决它。
WordPress,PHP,JQuery和$不混用;)。
之外,在控制台中没有其他问题我不相信,但是这实际上解决了问题!真的很奇怪,但嘿,谢谢你救了我的周末:) – Nick
随时随地;) –
检查这些脚本正在加载的顺序,首先包括jQuery,然后是unslider,然后是你的js代码。 – derloopkat
嗨,我检查了它,一切都按照正确的顺序..这就是为什么我在他们加载unslider.js代码样本后在我的代码示例 – Nick
中很奇怪,在定义了html之后,你是否也这样做? – derloopkat