2017-09-07 15 views
0

jwplayer().stop();の組み込み機能を起動するためのクリックハンドラがあります。しかし、私の最初のハンドラだけが実行され、もう一方は失敗します(ただし、エラーは記録されません)。JW Player - イベントハンドラを持つ複数のプレーヤーを停止(ターゲット)

ビデオはビューの要素divsに埋め込まれています。

別の言葉では、最初のビデオは止めることができますが、私はfunction()の中で次のクリックをすべて記録することができますが、2番目、3番目などは止めることができます。

思考? ありがとうございます。

$(function(){ 
    console.log('ready'); 
    $('.stop').on('click',function stopVideo() { 
     //stop JW player 
     if (typeof(jwplayer) != 'undefined') { 
       console.log('video stopped'); 
       jwplayer().stop(); 

      }   
    }) 
}); 

ビュー

<body> 
<div class="container"> 
    <!-- first video --> 
    <div class="jw" style="width: 40%; margin: 10px auto"> 
     <script src="//content.jwplatform.com/players/4sng2RGX-UQtQ90mG.js"></script> 
     <button class="stop" style="padding: 8px 19px; float: right; margin: 10px">stop video</button> 
    </div> 

    <!-- second video --> 
    <div class="jw" style="width: 40%; margin: 10px auto"> 
     <script src="//content.jwplatform.com/players/z5Jka98V-UQtQ90mG.js"></script> 
     <button class="stop" style="padding: 8px 19px; float: right; margin: 10px">stop video</button> 
    </div> 
</div> 
</body> 

答えて

1

あなたのAPI呼び出しでIDまたはインデックスを含めていないが、常にページの最初のプレイヤー1人を対象とします。

$(function(){ 
    //get every video with class .stopVideo 
    var count = $('.stopVideo').length; 

    $('#stop').on('click',function() { 
     //loop through all videos stored in count 
     for(var i = 0; i < count; i++) { 
     if (typeof(jwplayer) != 'undefined') { 
       console.log('video stopped'); 
       //stop player 
       jwplayer(i).stop(); 

      } 
     }   
    }) 
}); 

ビュー

<body> 
<div class="container"> 
    <!-- first video --> 
    <div class="stopVideo"> 
     <script src="//content.jwplatform.com/players/4sng2RGX-UQtQ90mG.js"></script> 
    </div> 

    <!-- second video --> 
    <div class="stopVideo"> 
     <script src="//content.jwplatform.com/players/z5Jka98V-UQtQ90mG.js"></script> 
    </div> 
    <button id="stop">stop video</button> 
</div> 
</body> 

私は、誰かがそれの理由を与えることなくダウン質問を投票時にそれは残念だ同意: https://developer.jwplayer.com/jw-player/docs/developer-guide/api/javascript_api_introduction/

はここソリューションです。それを維持し、ハッピーコーディング!

+0

ありがとうございます@Nullは真です。私は洞察に本当に感謝しています。 – tonkihonks13

+0

ええええええええ@tonkihonks13 –

1

あなたstopVideo()機能は、それが停止すると想定されるビデオを知る方法はありません。 jwplayerは、あなたがクリックしているボタンに関連しているかもしれないし、関連していないかもしれないいくつかのグローバル変数です。複数のプレーヤーターゲット

JWドキュメント毎
+0

ありがとうございます。私はクリックハンドラを介してすべての動画の停止を縛ることができるという提案がありますか? jwplayer()。stop()とは異なるアプローチを使用していても? – tonkihonks13

+0

https://developer.jwplayer.com/jw-player/docs/developer-guide/api/javascript_api_introduction/ - 「複数のプレーヤーをターゲットにする」までスクロールすると、正しい軌道に乗るはずです。 –

関連する問題