Utilisez la fonction à l'intérieur de la fonction du plugin jQuery Anythingslider
-
18-09-2019 - |
Question
J'essaie d'intégrer Anythingslider de Chris Coyier (http://css-tricks.com/anythingslider-jquery-plugin/) avec l'API YouTube. Lorsque l'état vidéo est "Play", je veux tirer 'startStop (false)', et sur l'état vidéo 'pause' pour tirer 'startStop (true)'. Mais comment puis-je utiliser une fonction déclarée dans un plugin? J'ai essayé avec quelque chose comme $ .AnyThingsLider.startStop () mais en vain. Une version simplifiée de la fonction pour vérifier le changement d'état YouTube est illustrée ci-dessous.
function onytplayerStateChange(state) {
switch(state) {
case 1: // playing
$("#jsfeedback").html("playing");
$.anythingSlider(startStop(false));
break;
case 2: // paused
$("#jsfeedback").html("paused");
$.anythingSlider(startStop(true));
break;
}
}
Je ne reçois aucune erreur et le curseur / vidéo fonctionne bien. Mais je ne peux pas faire arrêter le curseur.
Des pensées? Merci beaucoup.
ÉDITER: Corrigez-le moi-même, réponse ci-dessous
La solution
Je l'ai corrigé moi-même, je viens d'ajouter une fonction publique à la fin du fichier Anythingslider.js:
$.fn.startStopSlider=function(status) {
if(status=="play") {
base.startStop(true);
}
else if(status=="pause") {
base.startStop(false);
}
};
Et appelez-le comme:
case 1: // playing
$('.anythingSlider').startStopSlider("pause");
break;
etc.