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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

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

Q&A

1回答

1098閲覧

jsでの動画クリック、再生リストの件で

niccha

総合スコア22

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

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

0グッド

0クリップ

投稿2021/08/24 07:12

編集2021/08/26 01:45

お世話になります。

html

1<video controls disablepictureinpicture controlslist="nodownload" oncontextmenu="return false;" preload=”auto”> 2  <source id="videoarea" src=""> 3</video> 4<ul id="playlist"> 5 <li movieurl="https://◯◯◯.net/test1.mp4" class="active">動画1</li> 6 <li movieurl="https://◯◯◯.net/test2.mp4">動画2</li> 7 <li movieurl="https://◯◯◯.net/test3.mp4">動画3</li> 8 <li movieurl="https://◯◯◯.net/test4.mp4">動画4</li> 9</ul>

js

1$(function() { 2 $("#playlist li").on("click", function() { 3 $("#videoarea").attr({ 4 "src": $(this).attr("movieurl"), 5 "poster": "", 6 "autoplay": "" 7 }) 8 }) 9 10 $(function(){ 11 $('#playlist li').click(function(){ 12 $('#playlist li').removeClass('active'); 13 $(this).addClass('active'); 14 }) 15}) 16 $("#videoarea").attr({ 17 "src": $("#playlist li").eq(0).attr("movieurl"), 18 "poster": $("#playlist li").eq(0).attr("moviesposter") 19 }) 20})

上記コードにて、videoタグ内のsourceのsrc内へ、各動画liをクリックすると動画のurl自体は入るのですが、うまく再生されないのですが、
なにか改善方法はございますでしょうか?

html

1<video id="videoarea" controls disablepictureinpicture controlslist="nodownload" oncontextmenu="return false;" poster="" src="" preload=”auto”></video>

これでありましたら、再生はされるのですが。

sourceタグ内では再生不可なのでしょうか?

よろしくお願いいたします。

追記:
ご助言いただき、sourceタグ内ではなく、videoタグ内へautoplayが入るように修正してみたのですが、改善出来ずです。
引き続き、ご助言いただければ、助かります。

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

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

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

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

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

guest

回答1

0

autoplayがvideoタグではなくsourceタグに付いているような感じがします。
あと関係ないかもしれませんがpreload=”auto”が全角になっています。

投稿2021/08/24 23:20

tabuu

総合スコア2456

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

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

niccha

2021/08/25 00:44

ご回答、ありがとうございます。 たしかにページ表示時点では、autoplayはsourceタグ内にないですが、下のリストをクリックすると、sourceタグ内のsrcへ動画のURLが入ると同時に、sourceタグ内にautoplayが入ってますね。 これを修正すれば、再生されるのでしょうか? 具体的にどこを修正すればいいか、お教えただけますと助かります!!
niccha

2021/08/25 01:03

videoタグ内に新たにIDを設定し、下記jsに書き換える事でsourceタグ内のautoplayを削除し、 videoタグ内にautoplayを設定出来ました。 ただ、それでも動画の再生は出来ないです。sourveタグ内のsrcにはクリックした動画のurlが入っております。 $(function() { $("#playlist li").on("click", function() { $("#videoarea").attr({ "src": $(this).attr("movieurl"), }) $("#videobox").attr({ "poster": "", "autoplay": "" }) }) $(function(){ $('#playlist li').click(function(){ $('#playlist li').removeClass('active'); $(this).addClass('active'); }) }) $("#videobox").attr({ "poster": $("#playlist li").eq(0).attr("moviesposter") }) })
tabuu

2021/08/25 02:30

sourceに動的に読み込んだ場合はautoplayは無効になるのかもしれないですね。 videoboxがvideoタグのidとすれば以下のように再生できないでしょうか。 $("#videobox")[0].play();
niccha

2021/08/26 02:29

コメント気付くのが遅くなりました。 $("#videobox")[0].play(); 上記コード、jsのどこへ具体的に記載すれば、よろしかったでしょうか??
tabuu

2021/08/30 05:52

srcを変更した後です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問