JavaScriptで制御しようとしているビデオプレーヤーがあります。次のようになります。
<iframe height="309" width="500" frameborder="0" id="video_player" src="" allowfullscreen></iframe>
ビデオ プレーヤーのソースは、現在何もありません。しかし後で、YouTube リンクと同じになるように命令します。また、ムービーのどの部分を制御するための 2 つのボタンもあります。ここが私の困ったところです。ロードされた最初のビデオはトラバースできますが、残りのビデオはトラバースできません。複雑すぎて私には理解できません。
<button id="back_btn" style="float:left">Back</button>
<button id="next_btn" style="float:right">Next</button>
ビデオ プレーヤーとボタンの後に、それを制御するコードを追加します。動画メニューを生成するために for ループを使用しました。ビデオ データを多次元配列に格納しました。多次元配列という言葉を使うと、宇宙から来たような気がします。多次元ポータルを開いてビデオ データを取得してみましょう。次に、モジュール パターンを使用して、各メニュー項目用に作成した各イベント リスナーに i の値を格納する必要がありました。jQuery ライブラリを使用せずにこのプログラムのバージョンを作成しましたが、コードはあまり短くないようです。仕事での私の初心者のスキル。
<script type="text/javascript">
//Javascript Video Player and Table of Contents
var partId = 1;
var videoIndex = 0;
var videoPlayer = $("#video_player");
var videos = new Array(
["Dr. Dive Flies a Helicopter",
"http://www.youtube.com/embed/8t_cEvjpyp0",
"http://www.youtube.com/embed/LbXF4un-b5Y",
"http://www.youtube.com/embed/ec27I2F1y7E",
"http://www.youtube.com/embed/Y4b9lMcPx64",
"http://www.youtube.com/embed/9BqEkbK9sjA",
"http://www.youtube.com/embed/veSPoE3CaTM"],
["California Diving Competition",
"http://www.youtube.com/embed/dUjKW3aN96k"],
["Dr. Dive Diving",
"http://www.youtube.com/embed/s2iZ-raCKq0"],
["Tom Hairabedian playing his harmonica at age 88!",
"http://www.youtube.com/embed/jQZbVY4HCzQ"]);
loadVideo();
for(var i = 0; i < videos.length; i++){
(function(i){
var a = $("<a>").html(videos[i][0]);
//videoIndex = i;//This will break the script
a.css("display","block");
a.css("cursor","pointer");
a.click(function(){
videoPlayer.attr("src", videos[i][1]);
});
$("#contents").append(a);
}(i));
}
$("#back_btn").click(function(){
partId--;
loadVideo();
});
$("#next_btn").click(function(){
partId++;
//videoIndex++;//I add one to...no
loadVideo();
});
function loadVideo(){
videoPlayer.attr("src", videos[videoIndex][partId]);
}
</script>
ロードされる最初のビデオでのみ、次へと戻るボタンを使用できます。最初のビデオ以外のビデオで、次のボタンと戻るボタンを使用すると、ビデオ配列の最初のビデオに戻ります。