2012-04-06 8 views
0

so im mit SimpleModal, um ein modales Fenster auf. Ich habe die Funktionalität des modalen Fensters getestet und es funktioniert alles gut.Popup-Fenster auf youtube api Ereignis

Ich habe ein verstecktes div Element

 <div id="form-box" class="form-box" style="display:none;"> 
     <div class="form-crop"> 
     <script type="text/javascript"   src="https://releasetechnique.infusionsoft.com/app/form/iframe/84f82828ea34c2a633bbe0a87560586c"></script> 
     </div> 
     </div> 

dies nur erscheint in Ordnung, wenn, wie ich es mit einem Timer getestet.

<script type="text/javascript"> 
    $(function() { 
    setInterval(update, 1000); 
    }); 

    function update() { 
    $("#form-box").modal(); 
    } 
    </script> 

Nun, was im versuchend zu tun ist, um die Informationen aus youtubes API greifen, die mit dem folgenden erfolgreich getestet ive.

function onYouTubePlayerReady(playerId) { 
     $ytplayer = document.getElementById("myytplayer"); 
     $ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); 
    } 

    function onytplayerStateChange(newState) { 
     alert("Player's new state: " + newState); 


    } 

Dies funktioniert wie vorgesehen. Es gibt den aktuellen Spielerstatus zurück, und jedes Mal, wenn der Spielerstatus geändert wird, informiert mich die Warnung.

Nun möchte ich das modale Fenster aufklappen, wenn der Player-Status gleich 0 ist. 0 bedeutet, dass der Player gestoppt wurde. Im Grunde wird 0 als neuer Status zurückgegeben, sobald das Youtube-Video beendet ist.

Ich habe das folgende versucht und kann es nicht zum Laufen bringen. irgendwelche Vorschläge?

function onYouTubePlayerReady(playerId) { 
     $ytplayer = document.getElementById("myytplayer"); 
     $ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); 
    } 

    function onytplayerStateChange(newState) { 
     if(newstate === 0) { 
      $("#form-box").modal(); 
     } 
    } 

Antwort

1
  1. $("form-box").modal(); sollte $("#form-box").modal(); sein Sie
  2. Sind Sie sicher, newState eine Zahl? Wenn nicht, möchten Sie möglicherweise == anstelle von === verwenden
  3. Entfernen Sie andere unbenutzte jQuery-Plugins auf Ihrer Seite. Sie könnten Konflikte verursachen.
+0

Ich muss gerade die # bearbeitet haben, da ich das auch bemerkt habe. Ich bin nicht sicher, es ist eine Nummer krank versuchen == und lassen Sie es wissen – RezenX

+0

mit == statt === getestet und noch nicht feuern. – RezenX

+0

Was bedeutet console.log() den Wert von 'newState'? – Obay