すでにグローバルスコープで宣言しているので、インクリメントまたはデクリメントしてDOMに追加するためのvar i
関数のみが必要です。DOMがすでにロードされている場合ではi
なく、それらをに追加する必要があります。document.write()
<body>
// i is at global scope
var i = 0;
function previousVideo() {
// Only if you're not already at the beginning of the array
if (i > 0) {
i--;
// You tagged this jQuery, so here's the simpler jQuery solution
appendVideo(i);
}
}
function nextVideo() {
// Only if you're not already at the end of the array
if (i < videoArr.length - 1) {
i++;
appendVideo(i);
}
}
// Appends a new iframe to the <body>
function appendVideo(i) {
$("body").append('<iframe width="400" height="225" src="http://www.youtube.com/embed/' + videoArr[i] + '?rel=0&autohide=1&showinfo=0" frameborder="0" allowfullscreen></iframe>');
}
previousVideo()
いくつかの新しいボタンを作成し、関数とそれらにバインドnextVideo()
します。
編集:毎回2本の動画を追加したいのに気づきました。その場合は、ボタンクリックごとに前の関数と次の関数を2回呼び出すだけです。配列の最後まで読み取ると、1つだけが追加されます。
$('#yourbutton').click(function() {
// Get rid of the old ones
$('body').remove('iframe');
// And write two new ones.
previousVideo();
previousVideo();
});