阅读模式:

jquery+video实现点击播弹窗放视频功能

查看:19579  回复:9  类型:  来源:php自学网  标签 html5 jquery

        html5 jquery+video实现视频列表点击某个视频播放视频功能,播放视频弹出窗口进行播放,关闭窗口关闭视频。

        实现过程:当点击某个视频的时候把已经用javascript拼接好的video标签并带视频路径和视频缩略图信息的dom写入到指定的dom中,实现列表点击播放的功能。注意:这里只支持mp4类型的视频播放,不支持低版本的浏览器。

全部代码:

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>jquery+video实现点击播弹窗放视频功能</title>
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
 <!--[if lt IE 9]>
      <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
      <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
 <style type="text/css">
 .videolist { position:relative; float:left; width:500px; height:300px; margin-right:50px; margin-top:15px; margin-bottom:30px; }
     .videolist:hover{ cursor: pointer; }
     .videoed { display:none; width:50px; height:50px; position: absolute; left:45%; top:45%; z-index:99; border-radius:100%; }
     .videos{ display:none; border:10px solid green; position:fixed; left:50%; top:50%; margin-left:-320px; margin-top:-210px; z-index:100; width:660px; height:380px; }
     .vclose { position:absolute;right:1%; top:1%; border-radius:100%; cursor: pointer; }
   </style>
  </head>
  <body>
   <div class="video">
      <div class="container">
         <div class="videolist" vpath="1.png" ipath="1.mp4">
            <div class="vtit">视频一</div>
            <img src="1.png" width="540px" height="300px" />
            <div class="vtime">2018-06-22</div>
            <img src="play.jpg" class="videoed"/>
         </div>
         <div class="videolist" vpath="1.png" ipath="1.mp4">
            <div class="vtit">视频二</div>
            <img src="1.png" width="540px" height="300px" />
            <div class="vtime">2018-06-23</div>
            <img src="play.jpg" class="videoed"/>
         </div>
         <div class="videolist" vpath="1.png" ipath="1.mp4">
            <div class="vtit">视频三</div>
            <img src="1.png" width="540px" height="300px" />
            <div class="vtime">2018-06-24</div>
            <img src="play.jpg" class="videoed"/>
         </div>
         <div class="videolist" vpath="1.png" ipath="1.mp4">
            <div class="vtit">视频四</div>
            <img src="1.png" width="540px" height="300px" />
            <div class="vtime">2018-06-25</div>
            <img src="play.jpg" class="videoed"/>
         </div>
         <div class="videos"></div>
      </div>
   </div>

    <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
    <script>
         $('.videolist').each(function(){ //遍历视频列表
             $(this).hover(function(){ //鼠标移上来后显示播放按钮
                 $(this).find('.videoed').show();
             },function(){
                 $(this).find('.videoed').hide();
             });
             $(this).click(function(){ //这个视频被点击后执行
                 var img = $(this).attr('vpath');//获取视频预览图
                 var video = $(this).attr('ipath');//获取视频路径
                 $('.videos').html("<video id=\"video\" poster='"+img+"' src='"+video+"' preload=\"auto\" controls=\"controls\" autoplay=\"autoplay\"></video><img onClick=\"close1()\" class=\"vclose\" src=\"close.jpg\" width=\"25\" height=\"25\"/>");
                 $('.videos').show();
             });
         });
        
         function close1(){
             var v = document.getElementById('video');//获取视频节点
             $('.videos').hide();//点击关闭按钮关闭暂停视频
             v.pause();
             $('.videos').html();
         }
    </script>
  </body>
</html>

功能截图:

jquery + html5 video 视频播放功能.png

html5 jquery+video实现点击播弹窗放视频功能,打包下载地址:

html5 video play code.rar

分享到:
3 6

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

最新评论:
你我一起  发表于 2018-06-15 11:35:53  中国广东广州电信
沙发
不行。 回复
站长 2018-06-22 19:51 中国广东深圳电信
看demo代码 回复
你我一起  发表于 2018-06-15 11:38:10  中国广东广州电信
板凳
把video写入容器播放,这里报错 回复
你我一起  发表于 2018-06-15 11:40:08  中国广东广州电信
地板
你能发一个完整版的给我吗, 回复
站长 2018-06-22 19:50 中国广东深圳电信
已经把demo更新在文章中,请下载。 回复
丑不拉几香菇头  发表于 2019-07-26 09:27:04  中国广东省广州市南沙区
4楼
可以播放本地視頻嗎,我好像播放不了 回复
站长 2019-08-02 18:16 中国广东省深圳市南山区
不支持低版本的浏览器哦,是报什么错呢? 回复
北地  发表于 2019-11-23 23:40:12 
5楼
我用电脑版谷歌浏览器可以播放视频,手机版用苹果自带浏览器和Uc浏览器都不能播放呢? 回复
站长 2019-11-26 14:02 中国广东省深圳市南山区
部分浏览器需要做格外的video标签的兼容 回复
回复:[主题]
表情:
 提交评论
清空

发布评论:


登录:
  表情:
评论话题
推荐阅读:
最简单的Banner轮播淡入淡出效果代码及实现思路(附带源码)   阅读:16027解决 nginx 413 request entity too large   阅读:6015linux时间戳有趣的情人节秒1234567890   阅读:6973linux时间戳有趣的情人节秒1234567890   阅读:6973最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:12933nginx安装mysql和json模块   阅读:7623mysql5.7主从同步配置   阅读:9010网站性能优化-页面静态缓存   阅读:6842一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:140917shell脚本统计当前服务器并发连接数   阅读:9594栈和堆的区别   阅读:6638关于PHP程序员技术职业生涯规划   阅读:4316linux教程,鸟哥私房菜(pdf全集)   阅读:12548php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:10665centos 7 开启网络   阅读:9090centos7开启交换内存   阅读:13348php设置cookie为HttpOnly防止XSS攻击   阅读:15072html5 离线缓存的使用   阅读:5585给网站添加一键qq登录的功能   阅读:9398mysql5.7主从同步中binlog同步模式详解   阅读:10568shell脚本统计当前服务器并发连接数   阅读:9594web性能测试工具ab的测试方法   阅读:6103Mysql在大型网站的应用架构演变   阅读:5972centos7开启交换内存   阅读:13348mysql共享锁和排他锁详解   阅读:9391phpexcel 超简单从excel表格一键导入数据到数据库教程   阅读:14216Mysql在大型网站的应用架构演变   阅读:5972php打印三角形   阅读:14728web项目高并发量网站解决方案   阅读:5943php翻转字符串   阅读:5016php 统计网页打开耗时和脚本运行内存   阅读:8365关于PHP程序员技术职业生涯规划   阅读:4316php冒泡排序法   阅读:16870解决 nginx 413 request entity too large   阅读:6015php 生成图片,给图片加水印   阅读:8191centos 7 安装 mysql-5.7   阅读:10046linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:20695用php从1加到100的值   阅读:10928栈和堆的区别   阅读:6638php生成二维码   阅读:8664web项目高并发量网站解决方案   阅读:5943centos 7 修改系统屏幕分辨率   阅读:53056十张GIF让你弄懂递归等概念   阅读:7789Nginx 配置文件详解   阅读:6903linux时间戳有趣的情人节秒1234567890   阅读:6973一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:140917linux教程,鸟哥私房菜(pdf全集)   阅读:12548linux教程,鸟哥私房菜(pdf全集)   阅读:12548php连接redis   阅读:7161shell脚本统计当前服务器并发连接数   阅读:9594