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

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

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

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

CSS

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

Q&A

解決済

1回答

822閲覧

posterのタイミングでクラス変更

mutsuki22

総合スコア445

JavaScript

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

CSS

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

0グッド

0クリップ

投稿2021/11/22 06:08

前提・実現したいこと

お世話になっております。
javascriptの件で困っていて知恵を貸して頂ければと思っています。

発生している問題・エラーメッセージ

やりたい事としてはvideoタグでposterになったタイミングで適応クラスを変えたいのですが、やり方がいまいちわからない状態です。

経緯としては動画の一部を表示の上でposterは全てを写したく、clip-pathを用いたのですが、poster側にも適応されるために困っております。

該当のソースコード

html

1<video poster="common/img/top.png" muted controlslist="nodownload" autoplay src="common/data/sample.mp4" id="video"> 2 <source src="common/data/sample.mp4" type="video/mp4"/> 3 </video> 4

css

1#video{ 2 margin: 0 auto; 3 max-width: 595px; 4 clip-path: inset(0 30% 0 30%); 5} 6 7

javascript

1$( window ).ready(function(){ 2 var video = document.getElementsByTagName('video')[0]; 3 video.addEventListener('ended', function() { 4 video.load(); 5 video.autoplay=false; 6}, false); 7 }); 8

試したこと

https://teratail.com/questions/61997

上記だと少しずれるので目的を達成できず、目的としてはifreamの方が向いている気もしたので試みましたが、知識不足で画像の表示が上手くいきませんでした。
動的な部分の知識が疎いために発生していると思うので、大変申し訳ないのですが、ご助言頂けたら幸いです。

補足情報(FW/ツールのバージョンなど)

したい事としては動画の一部分を表示の上、動画終了後画像を表示する事がしたい状況です。
もし、こうした方が良いと言うののがあれば、ご意見頂ければ助かります。

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

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

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

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

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

guest

回答1

0

ベストアンサー

意図が汲み取りにくいですが、要は「動画再生中はclip-pathを適用し、動画再生が終了したら適用させない」ということでしょうか?

ご提示のhttps://teratail.com/questions/61997の質問のやり方がほぼ適用できると思うのですが、何か不都合があるのでしょうか?

html

1<video 2 poster="https://peach.blender.org/wp-content/uploads/title_anouncement.jpg?x11217" 3 id="video" class='playing' 4 muted autoplay controlslist="nodownload"> 5 <source src="https://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4" /> 6</video>

css

1#video { 2 margin: 0 auto; 3 max-width: 595px; 4} 5 6.playing { 7 clip-path: inset(0 30% 0 30%); 8}
$(window).ready(function() { const video = document.querySelector('#video'); video.addEventListener('ended', function() { $(video).removeClass('playing') }, false); });

余談

posterになったタイミングで適応クラスを変えたいのですが

掲載HTMLにはクラスが指定されていません。この状態で適応クラスを変えたいという表現は不適切かと思います。

やり方がいまいちわからない状態です。

記載のコードに目的を達成するためのコードが見当たりません。いまいちわからないと言いつつ何もしていない用に見えます。

投稿2021/11/22 07:29

k4a

総合スコア983

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

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

mutsuki22

2021/11/22 10:22

>k4a さん ご回答頂き本当にありがとうございます。 少し急ぎだったのもあり、焦りから視野が狭くなっておりました。 おっしゃる通りでした、本当に本当に申し訳ありませんでした。 ご助言で解決しました。 今後は注意して参考を拝見します。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問