2010-03-08 7 views
1

J'essaie d'intégrer AnythingSlider de Chris Coyier (http://css-tricks.com/anythingslider-jquery-plugin/) avec l'API YouTube. Lorsque l'état de la vidéo est "play", je veux déclencher "startStop (false)", et sur l'état vidéo "pause" pour lancer "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 permettant de vérifier le changement d'état YouTube est présentée ci-dessous.Utiliser la fonction dans la fonction du plugin jQuery AnythingSlider en dehors de la portée du plugin

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 correctement. Mais je ne peux pas faire en sorte que le curseur s'arrête sur le jeu.

Des pensées? Merci beaucoup.

EDIT: fixe moi-même, réponse ci-dessous

Répondre

2

je fixe moi-même, vient 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 il suffit d'appeler comme :

case 1: // playing 
    $('.anythingSlider').startStopSlider("pause"); 
     break; 

etc.

Questions connexes