Je travaille sur ce problème assez étrange depuis plusieurs jours maintenant, et je ne comprends vraiment pas pourquoi cela se produit.jQuery plugin est indéfini bien qu'il soit correctement inclus avant mon code js
Fondamentalement, l'environnement est WordPress et je suis avec deux fichiers js:
vendor.js -> generated by gulp and all it does is concatenating bower libs together
myScript.js -> my code
Ce que je sais (avec preuve):
- Le fichier fournisseur est inclus avant mon code (vérifié à partir la console)
- Le plugin que j'utilise est inclus dans vendor.js (a ouvert le fichier dans un nouvel onglet en chrome)
- Les deux fichiers sont chargés correctement (j'ai imprimé certains debu g console log et ils sont dans la console)
MAIS même si tout me semble bien, le plugin est encore indéfini pour une raison quelconque. Le plugin J'utilise est celui-ci: https://github.com/idiot/unslider
et l'erreur que je reçois dans la console est la suivante:
Uncaught ReferenceError: unslider is not defined
Ceci est la partie de mon code où j'appelle et besoin de ce plugin:
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
});
}
et il fait la même chose si je tente de le charger avant jQuery(document).ready()
événement, comme si:
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
});
}
Avez-vous une suggestion? Que puis-je essayer d'autre? Qu'est ce que ça peut être d'autre? Je suis vraiment coincé et toute aide serait vraiment appréciée. Merci beaucoup
Vérifiez l'ordre de chargement de ces scripts, d'abord inclure jQuery, puis unlider, puis votre code js. – derloopkat
Salut, je l'ai vérifié, tout est dans le bon ordre .. c'est pourquoi il est vraiment étrange pour moi – Nick
dans les échantillons de code qu'ils chargent unslider.js après que html est défini, faites-vous la même chose? – derloopkat