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

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

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

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

HTML

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

Q&A

解決済

2回答

4706閲覧

動画をランダム表示するScriptで質問です

aosou12

総合スコア9

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2017/07/29 06:44

編集2017/07/29 08:16

###動画をランダムで表示したい
ホームページのトップページにて、更新をすることによりランダムで動画を表示するようにしたいのですが、エラーを吐いてしまいます。
また、動画のタイトルは仮なのですが、150弱に動画が増えるかもしれません。

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

Uncaught TypeError: video.load is not a function

###該当のソースコード

<video id="video" width="500" height="500" autoplay="" loop="" video.src = "+" + videolist[vidoenum] + "+"></video> <script> var video = document.getElementById("video"); var video = new Array( "title1.mp4", "title2.mp4", "title3.mp4", "title4.mp4" ); var videonum = Math.floor(Math.random() * video.length); var output = "<video src=" + video[videonum] +">"; video.load(output); </script>

###試したこと
video.load部分以外にもエラーが出ていたのですが、そちらは解決できていると思います。
また、video.loadは関数ではないと表記されるため、分かりません。

###補足情報(言語/FW/ツール等のバージョンなど)
!DOCTYPE html
meta http-equiv="content-language" content="ja">
<meta http-equiv="content-type" content="text/html:charset=Shift_JIS">

<link rel="stylesheet" href="title.css" type="text/css">

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

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

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

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

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

kei344

2017/07/29 07:19

質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
guest

回答2

0

ベストアンサー

まず、下記のような書き方は出来ません。HTMLとJavaScriptが混ざっています。

HTML

1<video id="video" width="500" height="500" autoplay="" loop="" video.src = "+" + videolist[vidoenum] + "+"></video>

HTML

1<video id="video" width="500" height="500" autoplay="" loop="" src=""></video>

ビデオの部分はこんな感じでは。

JavaScript

1var video = document.getElementById("video"); 2var items = [ "title1.mp4", "title2.mp4", "title3.mp4", "title4.mp4" ]; 3video.src = items[ Math.floor( Math.random() * items.length ) ]; 4video.load(); 5video.play(); 6// 未テスト

【videoタグの簡単な使い方 - Qiita】
http://qiita.com/grapswiz/items/4ce35afa8bf30d7c0343

【videoタグの動画を切り替える - ゆずめも】
http://yuzu441.hateblo.jp/entry/2015/12/20/173610

投稿2017/07/29 08:25

kei344

総合スコア69407

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

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

aosou12

2017/07/29 08:31

ご指摘いただいた箇所を修正したところ、動作しました。 ご指摘いただき、ありがとうございます
guest

0

おそらく、変数を混同しています。

javascript

1var video = document.getElementById("video");

この直後に

javascript

1var video = new Array( 2"title1.mp4", 3"title2.mp4", 4"title3.mp4", 5"title4.mp4" 6);

と上書きしていますから、video.loadundefinedになると思いますので、そのようなエラーになると思います。
もう少し分かりやすい変数名をつけることをお勧めします。

投稿2017/07/29 07:17

Lhankor_Mhy

総合スコア36115

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問