js点击按钮实现带遮罩层的弹出视频效果


Posted in Javascript onDecember 19, 2015

本文实例讲解了js点击按钮实现带遮罩层的弹出视频效果,涉及到css以及JavaScript,分享给大家供大家参考,具体内容如下

最终显示效果:点击红色按钮,会有视屏弹出 并带有遮罩层

js点击按钮实现带遮罩层的弹出视频效果

点击黄色区域可以关闭视频 并回到最初的状态。

js点击按钮实现带遮罩层的弹出视频效果

页面主要代码:main中主要包含一个a,控制显示的按钮。设置有id值。

<div class="main">
  <a href="javascript:;" class="video" id="video"></a>
</div>

以下代码就是用来控制视频的显示效果,.video-btn 包含了视频显示区域以及右边黄色关闭按钮(虽然黄色关闭按钮有点丑)。

id="shadow"用来控制遮罩层。主要是对各元素设置id的值  后面js就可以方便的调用各元素。

<div class="video-btn" id="video-btn">
   <div class="video-area" id="video-area"></div>
   <a class="video-shut" id="video-shut">x</a>
 </div>
 <div id="shadow"></div>

下面来看一下有关css

首先设置video-btn区域。

.video-btn{
      position: absolute;
      width:600px;
      height: 300px;
      background:black;
      top:50%;
      left: 50%;
      margin-top: -150px;
      margin-left:-300px;
      display: none;
      z-index: 101;
    }
 .video-area{
      float:left;
      width:500px;
      height: 300px;
      background:red;
    }
.video-shut{
      height:100px;
      width:100px;
      font-size:40px;
      color:pink;
      float:left;
      text-align: center;
      /*line-height: 50px;*/
      background: yellow;
      display: block;
      padding-top:30px;
    }

然后设置遮罩层的css

#shadow{
      position: absolute;
      opacity: 0.5;
      filter:alpha(opacity=50);
      bottom:0;
      left: 0;
      right: 0;
      top: 0;
      background:black;
      z-index: 100;
      display: none;
    }

重点1:此处一定把两个div设为绝对定位,让其脱离文档流。

重点2:遮罩层要设置bottom,left,right,top值为0 这样遮罩层就可以平铺整个屏幕了。

重点3:一定要把这两个div设为display:none。让用户一开始是看不到这两个div ,否则一进去就看到这两个会很丑。

重点4:要设置z-index的值,黄色按钮和显示视频那个div的优先级一定要比遮罩层的优先级大,不然点击不了。

现在开始js:前面五个获取id赋值。然后在点击黄色按钮时响应事件。

点击事件1:将视频所在的div设置display:block。将遮罩层所在div设置display:block。 同时,视屏div内显示土豆视频。  此链接为土豆网的分享链接。

点击事件2:在点击黄色x按钮时,应该将这两个div隐藏起来。即设置两个div的display:none。

<script>
  var obtn=document.getElementById('video');
  var ovideo=document.getElementById('video-btn');
  var oatn=document.getElementById('video-area');
  var oshut=document.getElementById('video-shut');
  var oshadow=document.getElementById('shadow');
  obtn.onclick=function () {
    ovideo.style.display='block';
    oshadow.style.display='block';
    oatn.innerHTML='<embed src="http://www.tudou.com/v/Bs_lZPxcoRs/&rpid=818231113&autoPlay=true&resourceId=818231113_04_05_99/v.swf" allowFullScreen="true" quality="high" width="500" height="300" align="middle" allowScriptAccess="always" flashvars ="isAutoPlay=true" type="application/x-shockwave-flash"></embed>';
  }
  oshut.onclick= function () {
    ovideo.style.display='none';
    oshadow.style.display='none';
  }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
jquery中this的使用说明
Sep 06 Javascript
Javascript 中的 call 和 apply使用介绍
Feb 22 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
Apr 23 Javascript
用javascript添加控件自定义属性解析
Nov 25 Javascript
基于jquery实现三级下拉菜单
May 10 Javascript
很棒的js Tab选项卡切换效果
Aug 30 Javascript
详解使用vue实现tab 切换操作
Jul 03 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
Apr 08 Javascript
前端js中的事件循环eventloop机制详解
May 15 Javascript
如何在Node和浏览器控制台中打印彩色文字
Jan 09 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
Oct 29 Javascript
Vue vee-validate插件的简单使用
Jun 22 Vue.js
js获取本机操作系统类型的两种方法
Dec 19 #Javascript
javascript精确统计网站访问量实例代码
Dec 19 #Javascript
js实现图片轮播效果
Dec 19 #Javascript
js实现图片上传并正常显示
Dec 19 #Javascript
thinkphp实现无限分类(使用递归)
Dec 19 #Javascript
15个常用的jquery代码片段
Dec 19 #Javascript
js实现滚动条滚动到页面底部继续加载
Dec 19 #Javascript
You might like
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
python分割和拼接字符串
2013/11/01 Python
下载给定网页上图片的方法
2014/02/18 Python
python实现在pickling的时候压缩的方法
2014/09/25 Python
Python捕捉和模拟鼠标事件的方法
2015/06/03 Python
python zip()函数使用方法解析
2019/10/31 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
一套英文Java笔试题面试题
2016/04/21 面试题
教师的实习鉴定
2013/12/15 职场文书
社区消防工作实施方案
2014/03/21 职场文书
镇创先争优活动总结
2014/08/28 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
党员民主评议自我评价
2014/10/20 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python
mysql如何配置白名单访问
2021/06/30 MySQL
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js