Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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 如何创建HTML5播放列表循环功能_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何创建HTML5播放列表循环功能

Javascript 如何创建HTML5播放列表循环功能,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试创建一个类似youtube的播放列表,但我在逐个自动播放所有视频时遇到问题,我创建了一个on ended事件,以便在当前播放结束时播放下一个视频 这是密码 $'video'。在'end'上,函数{ //从活动li中删除。活动类,选择下一个li同级。 var next=$'ul.nav-tabs li.active'。移除类'active'。next'li'; var tabNext=$'.tab content.active'.removeClass'active'.next'div

我正在尝试创建一个类似youtube的播放列表,但我在逐个自动播放所有视频时遇到问题,我创建了一个on ended事件,以便在当前播放结束时播放下一个视频 这是密码

$'video'。在'end'上,函数{ //从活动li中删除。活动类,选择下一个li同级。 var next=$'ul.nav-tabs li.active'。移除类'active'。next'li'; var tabNext=$'.tab content.active'.removeClass'active'.next'div'; var tabNextIn=$'.tab content.in'.removeClass'in'.next'div'; //我们到达最后一个元素了吗?如果是:选择第一个同级元素 if!next.length next=next.prevObject.sides':first'; 如果!tabNext.length next=next.prevObject.sides':first'; 如果!tabNextIn.length next=next.prevObject.sides':first'; //将.active类添加到行中的下一个li。 next.addClass'active'; tabNext.addClass'active'; tabNextIn.addClass'in'; }; 如果$'.tab窗格'.hasClass'active'{ $'.active video'.attr'autoplay'; }
这是因为IF语句没有触发它

$('video').on('ended',function(){ 
    // Remove .active class from the active li, select next li sibling.
    var next = $('ul.nav-tabs li.active').removeClass('active').next('li');
    var tabNext = $('.tab-content .active').removeClass('active').next('div');
    var tabNextIn = $('.tab-content .in').removeClass('in').next('div');

    // Did we reach the last element? if so: select first sibling
    if (!next.length) next = next.prevObject.siblings(':first');
    if (!tabNext.length) next = next.prevObject.siblings(':first');
    if (!tabNextIn.length) next = next.prevObject.siblings(':first');

    // Add .active class to the li next in line.
    next.addClass('active');
    tabNext.addClass('active');
    tabNextIn.addClass('in');

    if ($('.tab-pane').hasClass('active')) {
        $('.active video').attr('autoplay','');
    }
  });
});

代码笔:

您可以在单击功能中添加如下内容:

$('.tabs-container.active video')[0].play();

播放停止后,如果不触发播放,请使用以下命令。请参见下文

$document.readyfunction{ setTimeoutfunction{ var vidHeight=$.video-container.height; $.description.csheight,vidHeight+px; }, 500; $window.resizefunction{ var vidHeight=$.video-container.height; $.description.csheight,vidHeight+px; }; $ul.nav-tabs a.点击功能{ 让anchor=$this; setTimeoutfunction{ 停止录像; 去除活性; $this.parent.addClass'active'; var vidHeight=$.video-container.height; $.description.csheight,vidHeight+px; 让id=anchor.attr'href'.replace; $'div'+id+'>video'.addClass'active'; 播放视频; }, 500; }; $'video'。在'end'上,函数{ //从活动li中删除。活动类,选择下一个li同级。 如果$'.active>video'.get0.0已暂停{ var next=$'ul.nav-tabs li.active'。移除类'active'。next'li'; var tabNext=$'.tab content.active'.removeClass'active'.next'div'; var tabNextIn=$'.tab content.in'.removeClass'in'.next'div'; //我们到达最后一个元素了吗?如果是:选择第一个同级元素 if!next.length next=next.prevObject.sides':first'; 如果!tabNext.length next=next.prevObject.sides':first'; 如果!tabNextIn.length next=next.prevObject.sides':first'; //将.active类添加到行中的下一个li。 next.addClass'active'; tabNext.addClass'active'; tabNextIn.addClass'in'; 播放视频; } }; 功能播放视频{ 如果$'.tab窗格'.hasClass'active'{ $'.active>video'.get0.play; } } 功能视频{ $'.active>video'.removeClass'active'; document.querySelector'.active>video'.pause; } 函数移除活动{ $'ul.nav-tabs li.active'。删除类'active'; } 播放视频; }; 1.没有填充物{ 填充:0!重要; } 身体{ 高度:2000px; } .主货柜{ 边框:2×000; 溢出:隐藏; } .说明{ 背景色:8989; 填充:16px 30px; 溢出:自动; } .说明ul{ 保证金:0; 填充:0; } .描述ul li a{ 背景色:8989; 颜色:fff; 垫底:18px; 边缘底部:18px; 位置:相对位置; 边界:无; } .nav选项卡>li>a:悬停{ 边界:无; 边框底部:2个实心fff; 背景色:fff; 颜色:555555; } .说明ul li a>h2{ 字号:700; 字体大小:35px; 保证金:0; } .说明ul li a>p{ 字号:18px; 线高:30px; 边缘顶部:5px; 页边距底部:0; } .视频容器{ 位置:相对位置; z指数:888; } .视频容器.工具{ 位置:绝对位置; 宽度:100%; 高度:40px; 背景色:a4a4a4; 左:0; 底部:0; z指数:999; } .video容器:hover.tools{ z指数:1; } 样式-1::-webkit滚动条{ 背景色:8989; } 样式1::-webkit滚动条拇指{ 边界半径:10px; -webkit盒阴影:插入0 0 6px rgba0,0,0,3; 背景色:adadad } 样式-1::-webkit滚动条{ 宽度:20px; } @最小宽度:992px{ .说明{ 左边框:2个实心000; } .描述ul li a{ 边框底部:2个实心fff; } } @媒体最大宽度:991px{ .说明{ 左边框:2个实心000; 空白:nowrap; 填充:0; 高度:自动!重要; } .描述ul li a{ 显示:内联块; 宽度:34%; 填充:14px; 文本对齐:左对齐; 溢出:隐藏; 最小高度:252px; 空白:正常; 垂直对齐:文本顶部; 页边距底部:0; } .描述ul li:之后{ 内容:; 显示:内联块; 宽度:2倍; 高度:170px; 位置:绝对位置; 右:6px; 顶部:20px; 背景色:fff; } .描述ul li:最后一个孩子:aft 呃{ 内容:; 显示:无; } .说明ul li a>h2{ 字体大小:22px; } .说明ul li a>p{ 字体大小:14px; 线高:23px; } } @媒体屏幕和最小宽度:220px,最大宽度:550px{ .描述ul li a{ 填充:8px; 最小高度:200px; } .说明ul li a h2{ 字体大小:14px; } .描述ul li a p{ 字体大小:10px; 线高:16px; } } 您的浏览器不支持HTML5视频。 您的浏览器不支持HTML5视频。 您的浏览器不支持HTML5视频。 您的浏览器不支持HTML5视频。
你想让它在页面加载时开始播放吗?我想自动播放下一个视频只需要在下一个视频中添加自动播放属性这正是我的回答所暗示的。我已经标记了你的问题。下次请讲清楚一点。这里是如何:谢谢你,它现在完美地工作@muhammadomeraslamb,但我需要自动播放第一个视频!我需要视频自动播放下一个!谢谢,效果很好,但当我点击另一章节时,还有一个问题,那就是旧视频仍在播放,我需要它自动工作,但当我点击另一章旧的视频停止播放和活动的章节视频play@KareemSultan刚刚更新了答案请现在确认这是否是您想要的?我为活动类添加了另一个修复程序,并重用了在文件末尾创建的播放和停止函数来播放和停止video@KareemSultanThank感谢您的尝试,但问题仍然存在!你说的是哪一个问题?现在点击播放视频吗?