2012-04-06 14 views
0

私はモーダルウィンドウをポップアップするためにシンプルモダールを使用しています。 Iveはモーダルウィンドウの機能をテストしましたが、うまく動作しています。私はタイマーでそれをテストしている場合youtube apiイベントのポップアップウィンドウ

私は隠されたdiv要素

 <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> 

を持って、これはちょうど罰金をポップアップ表示されます。

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

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

ここで私がしようとしているのは、youtubes APIからの情報を取得することです。

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

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


    } 

これは意図したとおりに動作します。現在のプレイヤーの状態を返します。プレイヤーの状態が変更されると、その旨を知らせます。

私がしたいのは、プレーヤーの状態が0に等しいときにモーダルウィンドウをポップアップすることです。0はプレーヤーが停止したことを意味します。だから基本的には、youtube動画の再生が終了するとnewstateとして0が返されます。

Iveは次のように試してみるとうまくいきます。助言がありますか?

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

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

答えて

1
  1. $("form-box").modal();$("#form-box").modal();
  2. する必要がありますがnewStateが数値ですか?そうでない場合は===の代わりに==を使用するとよいでしょう
  3. ページ内の他の未使用jQueryプラグインを削除してください。彼らは紛争を引き起こす可能性があります。
+0

私はそれも気づいたので、私はちょうど#を編集したに違いありません。その数字の代わりに==を試してみてください。そして、 – RezenX

+0

は===の代わりに==でテストされていますが、それでもまだ発火しません。 – RezenX

+0

console.log()は 'newState'の値は何ですか? – Obay