Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 连续播放视频_Javascript_Html_Video_Html5 Video - Fatal编程技术网

Javascript 连续播放视频

Javascript 连续播放视频,javascript,html,video,html5-video,Javascript,Html,Video,Html5 Video,我目前有: Javascript <script> $('document').ready(function(){ $('video').get(0).play(); // $('video').bind('ended', function(){ // $(this).next('video'); // }); $('video').each(function(val, index){ $(this).bind('ended', function(){

我目前有:

Javascript

<script>
$('document').ready(function(){
  $('video').get(0).play();
 // $('video').bind('ended', function(){
 //   $(this).next('video');
 // });
  $('video').each(function(val, index){
    $(this).bind('ended', function(){
      $(this).get(index + 1).play();
    });
  });
});
</script>

$('document').ready(函数(){
$('video').get(0.play();
//$('video').bind('end',function(){
//$(this.next('video');
// });
$('video')。每个(函数(val,索引){
$(this.bind('end',function()){
$(this.get(index+1.play();
});
});
});
HTML

不支持视频格式。
CBS-m4v
不支持视频格式。
视频#3
不支持视频格式。

现在,javascript不起作用。如何在第一个视频结束后立即播放下一个视频,然后在第二个视频结束后播放第三个视频。并非总是有3个视频,还可能有更多。

脚本中有两个小错误以下代码未经测试,但应该可以工作:

$(function(){
    var videos = $('video').each(function(index){
        $(this).bind('ended', function(){
            var video = videos[index + 1];
            video && video.play();
        });
    });
    if(videos.get(0).play){
        videos.get(0).play();
    }
});
以下是您的一些错误:

  • each(fn(val,index){})调用each的回调,其中index作为第一个参数,元素作为第二个参数(each(fn(index,video){})
  • $(this).get(index+1)这指的是视频元素,而不是视频列表(+索引也是上面提到的视频)
  • $(function(){
        var videos = $('video').each(function(index){
            $(this).bind('ended', function(){
                var video = videos[index + 1];
                video && video.play();
            });
        });
        if(videos.get(0).play){
            videos.get(0).play();
        }
    });