视频连续播放

发布于 2024-11-23 15:24:32 字数 905 浏览 0 评论 0原文

我目前有这个:

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>

HTML

<video width="703" height="704" controls preload="auto" src="LOW.mp4">Video format not supported.</video>

<h3>CBS - m4v</h3>
<video width="703" height="704" controls preload="auto" src="1100.m4v">Video format not supported.</video>

<h3>Video #3</h3>
<video width="703" height="704" controls preload="auto" src="yep.mp4">Video format not supported.</video>

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

I currently have this:

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>

HTML

<video width="703" height="704" controls preload="auto" src="LOW.mp4">Video format not supported.</video>

<h3>CBS - m4v</h3>
<video width="703" height="704" controls preload="auto" src="1100.m4v">Video format not supported.</video>

<h3>Video #3</h3>
<video width="703" height="704" controls preload="auto" src="yep.mp4">Video format not supported.</video>

Right now, the javascript isn't working. How do I play the next video as soon as the first video finishes and then play the third one once the second one finishes. There aren't always 3 videos, there coudld be more.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怪异←思 2024-11-30 15:24:32

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

$(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();
    }
});

以下是您的一些错误:

  1. each(fn(val, index){}) 每个的回调被调用,索引作为第一个参数,元素作为第二个 (each(fn(index, video){})
  2. $(this).get(index + 1) this 指的是视频元素而不是视频列表(+ index 也是上面的视频)

You have two small errors in your script the following code is untested, but should work:

$(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();
    }
});

Here are some of your error:

  1. each(fn(val, index){}) the callback of each is called with index as first argument and element as second one ( each(fn(index, video){})
  2. $(this).get(index + 1) this referrs to the video element not to a list of videos (+ index is also the video see above)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文