Flexslider轮播图插件支持HTML5视频播放代码
FlexSlider.js是款简单易用的轮播图jQuery插件,但没有提供支持HTML视频播放的参数(插件参数请参考《jquery幻灯片插件FlexSlider插件的详细设置参数》),如果直接使用html5标签video播放视频,会出现视频没有播放完就轮播到下一屏的问题,但是可以借助FlexSlider.js的回调函数实现支持视频播放。
html代码:
<div class="slides"> <ul> <li> <video src="video.mp4" muted webkit-playsinline="true" playsinline="true" x5-video-player-type="h5" x5-video-player-fullscreen="true" x-webkit-airplay="allow" x5-video-orientation="portraint"></video> </li> <li> <img src="pic.jpg" alt="幻灯片"/> </li> </ul> </div>
flexslider.js调用代码:
$(function(){ $('.slides').flexslider({ animation: "fade", slideshowSpeed: 6000, directionNav: false, controlNav: false, start: function(slider){ if($('.flex-active-slide video').length > 0){ slider.pause(); $('.flex-active-slide video')[0].play(); $('.flex-active-slide video')[0].onended = function(){ slider.play(); } } }, after: function(slider){ if($('.flex-active-slide video').length > 0){ slider.pause(); $('.flex-active-slide video')[0].play(); $('.flex-active-slide video')[0].onended = function(){ slider.play(); } } } }); });
主要代码意思:判断当前屏是否是视频,如果是,暂停flexslider轮播并播放视频,视频播放完之后,再开启flexslider轮播。