質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1254閲覧

videoタグと、colorboxの動画終了時およびポップアップクローズ時の挙動について

k-katapashi

総合スコア18

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/02/26 10:44

編集2019/02/27 13:55

htmlのシンプルなサイトを制作しています。
以下のようなフローのしくみを作りたいのですが、javascript初心者のため、煮詰まっております。
助言を頂ければ幸いです。

  1. サイト訪問時に、動画を読み込んだポップアップ(video1)が自動で表示される
  2. 動画の再生終了時に、ポップアップが自動で閉じる
  3. 同一のページにポップアップ(video2)が出現するボタンがあり、こちらはクリックして開く

上記の条件は達成したのですが、気になる挙動があり修正したく考えています。

問題

video1の動画終了前に手動でポップアップを閉じ、すぐにvideo2を開くと、video1の動画再生終了時間のタイミングで閉じてしまう。

希望する動き

video1のポップアップが、
●動画再生終了時に自動で閉じる
●ポップアップを手動で閉じた時、video.addEventListenerの内容がキャンセルされる

コード

html

1<div class="popup"> 2 <div class="popup_in" style="display:none"> 3 <a href="#inline_content1" class="inline1 colorbox"></a> 4 </div> 5 <div class="popup_in"> 6 <a href="#inline_content2" class="inline2 colorbox">動画を再生する</a> 7 </div> 8</div> 9<!--Inline Contents Start--> 10<div style="display:none"> 11 <div id="inline_content1" style="background:#000;"> 12 <video id="video1" autoplay playsinline muted controls> 13 <source src="assets/movie/movie01.mp4"> 14 <source src="assets/movie/movie01.ogv"> 15 <source src="assets/movie/movie01.webm"> 16 </video> 17 </div> 18</div> 19<div style="display:none"> 20 <div id="inline_content2" style="background:#000;"> 21 <video id="video2" autoplay playsinline muted controls> 22 <source src="assets/movie/movie02.mp4"> 23 <source src="assets/movie/movie02.ogv"> 24 <source src="assets/movie/movie02.webm"> 25 </video> 26 </div> 27</div> 28<!--Inline Contents End-->

js

1<script> 2$(document).ready(function(){ 3 $(".inline1").colorbox({ 4 inline: true, 5 open:true, 6 width:"98%", 7 rel:'group', 8 closeButton:'true', 9 onComplete: function(){ 10 var video = $("#video1").get(0); 11 video.play(); //動画の再生 12 //動画が終了した時の処理 13 video.addEventListener('ended',function() { 14 $("#video1").remove(); 15 $("#cboxOverlay").remove(); 16 parent.$.colorbox.close(); 17 }); 18 }, 19 onClosed: function(){ 20 video.currentTime = 0; 21 } 22 }); 23}); 24</script> 25<script> 26$(document).ready(function(){ 27 $('.inline2').on('click', function(){ 28 $(".inline2").colorbox({ 29 inline: true, 30 width:"98%", 31 rel:'group', 32 closeButton:'true', 33 onComplete: function(){ 34 var video = $("#video2").get(0); 35 video.currentTime = 0; 36 video.play(); //動画の再生 37 }, 38 onCleanup: function(){ 39 var video = $("#video2").get(0); 40 video.currentTime = 0; 41 } 42 }); 43 }); 44}); 45</script>

この問題を解決する方法をご存知でしたら、ご教示いただけますと幸いです。
どうぞ、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

removeEventListenerを使い、自己解決できました。

投稿2019/03/04 00:36

k-katapashi

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問