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

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

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

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

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

0回答

1351閲覧

動画をクリックして再生し、再生終了後にページ内遷移を行いたい

_mini

総合スコア15

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

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クリップ

投稿2020/12/02 07:00

編集2020/12/02 07:39

HTML

<div class="fv"> <div class="detail-wrap"> <video id="detail" src="img/detail1.mp4" muted playsinline poster="img/circle.png"></video> <div class="detail-btn" id="detail-btn"></div> </div> </div> <div class="portfolio"> ? ? ? ? </div>

js(画像で置き換え時)

$(".portfolio").css("display", "none"); $("#detail").click(function () { $(".fv").css("display", "none"); $(".portfolio").css("display", "block"); });

js(動画再生、停止ボタン)

 const video = document.querySelector("#detail"); const video_btn = document.querySelector("#detail-btn"); let is_playing = false; video_btn.addEventListener("click", () => { if (!is_playing) { video.play(); is_playing = true; } else { video.pause(); is_playing = false; } });

上記のような構成のポートフォリオサイトを作成演習しております。
画像(detail)をクリックするとfvが隠れportfolioが表示されるのですが,この画像部分を動画にし、再生終了した際にportfolioが表示されるようにしたいです。

現在クリックしたときに動画を再生や停止を行うjsは記述してあるものですが、そのコードはただ動画の再生と停止のみなのでportfolioセクションに移動することはありません。
これをクリックしたときと同じようにportfolioセクションに移動させたい場合はどのようなjsを記述する必要があるのか教えていただきたいです。

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

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

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

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

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

m.ts10806

2020/12/02 07:36

再現確認に必要なコードがほとんどないのでどう実装して再生停止を実現しているのか知らないですが、「再生終了」イベントがとれるか調べてみましたか?
_mini

2020/12/02 07:40

動画再生のjsも追記いたしました。このコードは動画部分をクリックして再生、停止を行うだけなので再生終了イベントは取れていないと思います。
m.ts10806

2020/12/02 07:51

書かなければ取れないのは当たり前と言えば当たり前なので、調べてみたかどうかを確認しています。
m.ts10806

2020/12/02 07:52

「JavaScript 動画 終了時」で結構出てきますね。適用できるかはやってみてください。
_mini

2020/12/02 07:53

video.addEventListener("ended", () => {}を使用して画像をクリックした際に発火するjsを記述してみましたがなにも変化は起きませんでした。
m.ts10806

2020/12/02 08:02

処理をどう書いたのでしょうか。 endedが起きたかどうかデバッグはされましたか?
_mini

2020/12/02 08:45

video.addEventListener("ended", () => { $(".fv").css("display", "block"); $(".portfolio").css("display", "none"); console.log( "1)動画が終了した、または 2)それ以上データがない" + "ため、動画が停止しました。" ); });
_mini

2020/12/02 08:46

画像で置き換え時と同じものとconsole.logを表示させました。 console.logは動いていましたが、上のCSSは作動しません。
Lhankor_Mhy

2020/12/03 05:18

「再生終了した際にportfolioが表示されるようにしたい」とのことですが、補足欄でご提示されているコードは、逆ではないですか? $(".portfolio").css("display", "none"); ←これは表示を消すという意味です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問