0

これは尋ねられ、答えられていることは分かっていますが、私が見つけたオプションは何の幸運もありません。モーダルが閉じたときにビデオの再生を停止させたり、ビデオを一時停止したりしようとしています。私が抱えている問題の1つは、クローズボタンをターゲットにすることです。私は試した機能の中にconsole.logsを入れました。彼らはコンソールに全く登録していませんでした。どんな洞察も提供できることに感謝します。モーダルを閉じる/隠すときにビデオを停止/一時停止する

<div id="myModal<%= index + 1 %>" data-id='<%= list.video_id %>'class="modal fade videoModal" role="dialog"> 
     <div class="modal-dialog"> 
      <!-- Modal content--> 
      <div class="modal-content bmd-modalContent" > 
      <div class="modal-body modal-header"> 
       <div class="close-button"> 
       <button id='single' type="button" class="close fancybox-close" data-dismiss="modal" aria-label='Close' ><span aria-hidden="true">&times;</span></button> 
       </div> 
       <div class='embed-responsive embed-responsive-16by9'> 
       <iframe id='player' class='embed-responsive-item' src="https://youtube.com/embed/<%= list.video_id %>?rel=0&enablejsapi=1" allowFullScreen='true' frameborder="0"></iframe> 
       </div> 
      </div> 
      </div> 
     </div> 
     </div> 

EDIT: 申し訳ありませんが、I'hadは私が一度私のapp.jsフォルダ内のいずれかを持っていなかったことをそんなにjQueryのを試してみました。ここでは私が今作業しているものがあります。

$('[id^=myModal]').on('hidden.bs.modal', function(event) { 
    console.log(player); 
    event.target.stopVideo(); 
}); 

答えて

1

アップデートの詳細との質問

そのあなただけのhtmlを掲示しているため、問題が何であるかを伝えるのは本当に難しいです。閉じるボタンとconsole.logの検索に問題があります。明らかにjavascripeファイルには、console.log行の上にいくつかのエラーがあります。モーダルは、それらを生成するとき、私はモーダルのIDを変更しないだろうあなたが

$('#myModal').on('hidden.bs.modal', function (e) { 
    // do something... 
}) 

このイベントを使用することができます閉じている場合は、代わりに私は1 .on('hidden.bs.modal')を持っているために、この要素の上にdata-attrを置くと、コントロールの上に持って検出するため

すべてのモーダル

UPDATE:ユーチューブ-APIドキュメントから

https://developers.google.com/youtube/iframe_api_reference#Loading_a_Video_Player

それはあなたがユーチューブの動画を使ってHTML iframeに埋め込むならば、その瞬間にuはjsの中でこのような何かを作ると言われています:

あなたが作成するプレイヤーの属性を定義するために持っていけない
function onYouTubeIframeAPIReady(){ 
    var iframe = document.getElementById("my-video"); 
    video = new YT.Player(iframe); 
} 

、それはiframeから取ります。

フィドル:http://jsfiddle.net/ux86c7t3/2/

+0

私は特定の、動的データ・ターゲットを持っていないとき、それは私が別のものをクリックした場合でも、リスト内の最初のビデオを果たしています。 –

+0

どのようなビデオを一覧表示しますか。私は実際の問題がどこにあるのか分かりません。私はdata-attrとして何を意味していたのですか?それはあなたがどのモーダルを閉じるのかを知るためのデータIDです。すべてのモーダルに対してEVENTを処理する必要があり、すべてのモーダルが異なるIDを持っていると仮定して、この '$( 'myModal')を複製します(on( 'hidden.bs.modal'、function(e){ //何か... }) '?むしろ。むしろ、モーダルが閉じられ、その内部でthis(e)によってローカライズされる関数が1つの...まだ多くの質問ではありません – hodiecode

+0

私はビデオオブジェクト(list = =ビデオ、私の命名はひどい:P)。私はそこで反復を開始しなかったのですが、私はそれが関係しているとは思わなかったのです。私は元のquesiton BCにjsを持っていませんでした。私は、私が関数を削除してしまったので、ここで解決策を見つけることを望みました。私は親要素のクラスをターゲットにしようとしました。私は実際に私のスクリプトの問題を明確にするためにJSに流暢ではない –

0

さて、あなたは単にIFRAMEのSRCを削除することができ、その後、好き再び元に戻します。 iframeの実行が停止します。

<iframe id="videosContainers" class="yvideo" src="https://www.youtube.com/embed/kjsdaf ?>" w></iframe> 
<span onclick="stopVideo(this.getAttribute('vdoId'))" vdoId ="yvideo" id="CloseModalButton" data-dismiss="modal"></span> 

jQueryの一部

function stopVideo(id){ 
    var src = $j('iframe.'+id).attr('src'); 
    $j('iframe.'+id).attr('src',''); 
    $j('iframe.'+id).attr('src',src); 

} 
関連する問題