Javascript 通过视频源循环会降低Chrome的速度
我有两个视频源,通过ajax输出到我的页面(第二个是隐藏的)。我播放第一个视频,并将一个事件绑定到它上,以便在它结束时播放和显示下一个视频,同时暂停第一个视频,并将其倒回0,然后该过程继续 这是我的密码Javascript 通过视频源循环会降低Chrome的速度,javascript,jquery,ajax,html,google-chrome,Javascript,Jquery,Ajax,Html,Google Chrome,我有两个视频源,通过ajax输出到我的页面(第二个是隐藏的)。我播放第一个视频,并将一个事件绑定到它上,以便在它结束时播放和显示下一个视频,同时暂停第一个视频,并将其倒回0,然后该过程继续 这是我的密码 function queueVideos(num, amount) { if (num < amount) { document.getElementById('video-element-'+num).addEventListener('ended', play
function queueVideos(num, amount) {
if (num < amount) {
document.getElementById('video-element-'+num).addEventListener('ended', playNextClip, false);
function playNextClip() {
var nextVid = num + 1;
$( '#video-element-' + nextVid ).show().get(0).play();
$( '#video-element-' + num ).hide();
document.getElementById( 'video-element-' + num ).pause();
document.getElementById( 'video-element-' + num ).currentTime = 0;
queueVideos(nextVid, amount)
}
}
if (num == amount) {
document.getElementById('video-element-'+num).addEventListener('ended', playFirst, false);
function playFirst() {
$( '#video-element-1' ).show().get(0).play();
$( '#video-element-' + num ).hide();
document.getElementById( 'video-element-' + num ).pause();
document.getElementById( 'video-element-' + num ).currentTime = 0;
queueVideos(1, amount);
}
}
}
我的问题是,大约1分钟后,剪辑之间的过渡变得滞后,剪辑意外暂停,最终浏览器(chrome)执行缓慢
我怎样才能解决这个问题
谢谢 我发现将函数playFirst()更改为不包含queueVideos(1,amount);解决了这个问题!我没有意识到我只需要添加一次事件侦听器。呜呼 该函数将无限次调用,因此会使浏览器崩溃。您需要使用
setInterval
或setTimeout
queueVideos(1, 2);