X
活动推荐

阿里云高性能云主机2折293元/年

企业级性能云服务器限时2折起
新用户5折爆款服务器会场
查看详情 293元/年
阅读模式:

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

查看:13176  回复:5  类型:  来源: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

分享到:
2 6

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

扫描二维码手机查看

最新评论:
你我一起  发表于 2018-06-15 11:35:53  中国广东广州电信
沙发
不行。 回复
站长 回复 你我一起 看demo代码
2018-06-22 19:51 中国广东深圳电信 回复
你我一起  发表于 2018-06-15 11:38:10  中国广东广州电信
板凳
把video写入容器播放,这里报错 回复
你我一起  发表于 2018-06-15 11:40:08  中国广东广州电信
地板
你能发一个完整版的给我吗, 回复
站长 回复 你我一起 已经把demo更新在文章中,请下载。
2018-06-22 19:50 中国广东深圳电信 回复
回复:[主题]
表情:
 提交评论
清空

发布评论:


登录:
  表情:
评论话题
推荐阅读:
php+redis实现消息队列   阅读:10495HTTP 1.1 协议详解   阅读:6973把php session 会话保存到redis   阅读:5906面试的时候和你谈理想,是理想or入坑?   阅读:7746mysql5.7开启sql日志的配置   阅读:7021企业让你去面试,可能不是真的招人   阅读:4884php+redis实现消息队列   阅读:10495最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:8992php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:6339php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:6339网站性能优化-页面静态缓存   阅读:4594用php从1乘到100的值   阅读:5203最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:8992用php从1加到100的值   阅读:6993php 读取和设置redis的键值   阅读:6107php翻转字符串   阅读:2228php 读取和设置redis的键值   阅读:6107浅谈javascript的函数节流   阅读:3725移动端自适应rem原理   阅读:8255mongodb设置shell开机启动脚本   阅读:7471centos 7 安装 samba 服务   阅读:5243centos 7 添加 redis 3.2.9 开机启动脚本   阅读:7780面试的时候回去等通知,等电话的真实意思   阅读:18985php+redis实现消息队列   阅读:10495mysql 为什么添加索引可以提高访问速度   阅读:4922mysql5.7主从同步配置   阅读:2554给网站添加一键新浪微博登录的功能   阅读:5536mysql的四种索引类型   阅读:16639把php session 会话保存到redis   阅读:5906web项目高并发量网站解决方案   阅读:3660centos 7 设置 nginx-1.11.10 开机启动   阅读:6750解决 nginx 413 request entity too large   阅读:3545linux时间戳有趣的情人节秒1234567890   阅读:4424mysql共享锁和排他锁详解   阅读:5797企业让你去面试,可能不是真的招人   阅读:4884面试都会问你为什么你从上一家公司离职的真实意思   阅读:9080关于PHP程序员技术职业生涯规划   阅读:1712浅谈javascript的函数节流   阅读:3725给网站添加一键新浪微博登录的功能   阅读:5536爱编程,也爱健康   阅读:3277面试的时候和你谈理想,是理想or入坑?   阅读:7746最简单的Banner轮播左右切换效果代码及实现思路(附带源码)   阅读:26443mysql5.7主从同步配置   阅读:2554解决 nginx 413 request entity too large   阅读:3545移动端自适应rem原理   阅读:8255mysql共享锁和排他锁详解   阅读:5797php翻转字符串   阅读:2228给网站添加一键qq登录的功能   阅读:5927给 centos 7 安装桌面环境   阅读:15108人性漫画:打工与创业的残酷区别   阅读:3736