简易HTML5 video点击元素弹框播放视频的jQuery代码

很简单的点击指定元素弹出层播放video视频的代码,如果不喜欢很炫酷的弹框视频效果可以一用。

CSS代码:

.popup{position:fixed;left:0;top:0;width:100%;height:100%;overflow-y:auto;background-color:rgba(0,0,0,0.75);z-index:10;-webkit-overflow-scrolling:touch;display:none;}
.popup .video{width:100%;min-height:100%;justify-content:center;align-items:center;padding:1vh 0;display: flex;}
.popup .info{background-color:#fff;}
.popup video{display:block;width:auto;max-width:90vw;height:auto;max-height:90vh;}

提示:这是弹出层的样式,可以根据自己的喜好调整。

HTML代码:

<a data="vplay" href="video.mp4">播放视频</a>

jQuery代码:

var _popuphtml = '<div class="popup"><div class="video"></div></div>';
$('a[data="vplay"]').click(function(e){
    e.preventDefault();
    var _videourl = $(this).attr('href');       
    var _videohtml = '<video src="'+_videourl+'" webkit-playsinline="true" playsinline="true" x5-video-player-type="h5" x5-video-player-fullscreen="true" x-webkit-airplay="allow" x5-video-orientation="portraint" controls autoplay></video>';
    var _popup = $('.popup');
    if(_popup.length == 0){
        $('body').append(_popuphtml);
        var _popup = $('.popup');
    }
    _popup.find('.video').html(_videohtml);
    _popup.stop().fadeIn('fast',function(){
        $(this).find('video').trigger('play');
    });
    _popup.click(function(e){
        if($(e.target).closest($(this).find('video')).length === 0){
        	$(this).find('video').trigger('pause');
            $(this).stop().fadeOut(50,function(){
            	$(this).remove();
            });
        }
    });
});