我正在處理這個好奇的問題好幾天了,我真的不明白爲什麼會發生這種情況。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
});
}
你有什麼建議嗎?我還可以嘗試什麼?它還能是什麼?我很困難,任何幫助將非常感激。非常感謝
檢查這些腳本正在加載的順序,首先包括jQuery,然後是unslider,然後是你的js代碼。 – derloopkat
嗨,我檢查了它,一切都按照正確的順序..這就是爲什麼我在他們加載unslider.js代碼樣本後在我的代碼示例 – Nick
中很奇怪,在定義了html之後,你是否也這樣做? – derloopkat