Javascript 在HTML 5的时间数组中循环<;视频>;
我有一个时间数组,用于存储Javascript 在HTML 5的时间数组中循环<;视频>;,javascript,html,html5-video,settimeout,Javascript,Html,Html5 Video,Settimeout,我有一个时间数组,用于存储元素的暂停时间: var pauseTimes = [0, 5, 12, 15]; 我想有一个循环功能,在0秒开始视频,在5秒开始视频,然后在中添加一些内容。然后,我希望该功能在5秒时启动视频,并在12秒时暂停视频,然后在中添加内容。等等等等 我有一个从0秒到5秒的函数,然后从5秒到12秒(等等,你可以看到图片): 但我不知道如何连续循环数组(即从0到5、5到12、12到15)以及暂停和向div添加内容之间的循环 到目前为止,我使用的是for循环: var m =
元素的暂停时间:
var pauseTimes = [0, 5, 12, 15];
我想有一个循环功能,在0秒开始视频,在5秒开始视频,然后在
中添加一些内容。然后,我希望该功能在5秒时启动视频,并在12秒时暂停视频,然后在
中添加内容。等等等等
我有一个从0秒到5秒的函数,然后从5秒到12秒(等等,你可以看到图片):
但我不知道如何连续循环数组(即从0到5、5到12、12到15)以及暂停和向div添加内容之间的循环
到目前为止,我使用的是for循环:
var m = 0;
function loopContinuously() {
for (m = 0; m < pauseTimes.length-1; m++) {
loopThrough();
// Adding stuff to the div here
m++;
}
}
var m=0;
函数循环(){
对于(m=0;m
它做了我想做的事情,但它在时间间隔内跳得很快。是否有办法在指定的时间间隔内(在数组中)实际浏览视频并将内容添加到
?要在时间间隔之间创建一些延迟,可以尝试使用a并在“timeupdate”事件中增加变量b
也许这样的设置可以帮助您:
- 视频从0开始播放
- 以5秒的时间暂停setTimeout函数中给定的毫秒数,然后继续到12秒
- 在setTimeout函数中给出的毫秒数内暂停12秒,然后继续到15秒
- 以15秒的时间暂停setTimeout函数中给定的毫秒数,然后从0开始播放
var pauseTimes = [0, 5, 12, 15];
var b = 0;
var vid = document.getElementById("video");
vid.addEventListener("timeupdate", function () {
if (this.currentTime >= pauseTimes[b]) {
vid.pause();
// Adding stuff to the div here
b++;
setTimeout(function () {
if (b === pauseTimes.length) {
// reset b
b = 0;
// reset the video
vid.currentTime = 0;
vid.load();
} else {
vid.play();
}
}, 1000);
}
}, false);
vid.currentTime = pauseTimes[b++];
vid.play();
除了使用setTimeout,真的没有其他方法吗?@user5139637此代码也可以在不使用
setTimeout
的情况下工作。我添加了setTimeout,因为您提到它会在时间间隔内快速跳过。
var pauseTimes = [0, 5, 12, 15];
var b = 0;
var vid = document.getElementById("video");
vid.addEventListener("timeupdate", function () {
if (this.currentTime >= pauseTimes[b]) {
vid.pause();
// Adding stuff to the div here
b++;
setTimeout(function () {
if (b === pauseTimes.length) {
// reset b
b = 0;
// reset the video
vid.currentTime = 0;
vid.load();
} else {
vid.play();
}
}, 1000);
}
}, false);
vid.currentTime = pauseTimes[b++];
vid.play();