摘要:因此,此处又用首先查询是否为,暨是否显示,如果不显示,就直接设置弹窗的高度为零。
由于在视频专题页项目中需要链接腾讯视频,然后再在网页端以弹窗的形式展现,且需要弹窗显示时候视频播放,弹窗关闭时候视频停止,在之前的查阅资料中看到很多案例都说的不是很清晰,今天在经过多次尝试后终于成功了,分享一下,代码如下:
引用的库
需要用的有:jQuery, boostrap框架.
HTML 结构如下
JS 如下:
这里的html 代码引用了boostrap的模态框作为弹窗的框架,可以方便的进行弹窗的显示和隐藏。而且使用了iframe 作为插入视频的工具,因为经过测试,embed标签使用的时候有问题,在移动端不被识别,而iframe则显示正常,所以使用了iframe.
其中需要注意的点是:默认的弹窗的宽高是固定的,由于需要进行自适应,因此需要进行调整,这里可以使用CSS的媒体查询或者JS查询设备窗口大小均可,我才用的是媒体查询:
CSS如下:
@media screen and (min-width:767px) { .modal-body>iframe{ width:566px; height: 400px;; } } @media screen and (max-width:766px) { .modal-body>iframe{ width: 100%; height: 100%; } }
这样CSS就可以根据设备的窗口大小进行调整iframe的大小.
模态框居中问题解决方法:
同时,boostrap的视频弹窗默认是不居中的,我们要让它居中显示。因此,此处又用js首先查询model是否为block,暨是否显示,如果不显示,就直接设置弹窗的高度为零。如果显示,就计算它的上部空白高度为多少,应该是整个屏幕的高度的一半减去模态框的高度的一半,然后设置margin-top的高度为计算出的结果。居中搞定。
视频如何控制它播放和停止
由于iframe中插入的是外网的视频,牵涉到跨域,所以我们无法在本地控制视频,导致模态框已经被X掉隐藏了,但是视频仍然在后台播放,也就是iframe仍在,这样无疑会带来问题。 网上给出的各种风格的答案均尝试了但是没有效果,后来看到网上有将iframe的src属性值设置为空的想法,然后受此启发,想到了一个解决方案;代码已经在上面的JS 中贴上了,此处就不贴了,说一下解决方案:首先是给模态框注册点击事件,然后再在点击事件的回调函数中判断模态框是否显示,如果显示,就给iframe 的src属性赋值为空,这样视频没有了地址就不会播放;如果模态框显示,就给iframe的src属性赋值为正确的视频地址,这样视频就可以正常播放。 此处涉及到为什么给模态框注册点击事件,因为a标签的data-targert属性的值就是模态框的id呀,所以给模态框注册了点击事件就相当于给a标签注册了点击事件,而a标签就是预览图的父元素,所以,点击a标签,就会触发模态框的点击事件
至此需求已经解决,点击预览图视频播放,点击X ,模态框消失且视频停止,点击视频以外的区域,模态框消失且视频停止,点击视频以内的区域,自带播放器会暂停。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/112765.html
摘要:因此,此处又用首先查询是否为,暨是否显示,如果不显示,就直接设置弹窗的高度为零。 由于在视频专题页项目中需要链接腾讯视频,然后再在网页端以弹窗的形式展现,且需要弹窗显示时候视频播放,弹窗关闭时候视频停止,在之前的查阅资料中看到很多案例都说的不是很清晰,今天在经过多次尝试后终于成功了,分享一下,代码如下: 引用的库需要用的有:jQuery, boostrap框架. HTML 结构如下 ...
摘要:因此,此处又用首先查询是否为,暨是否显示,如果不显示,就直接设置弹窗的高度为零。 由于在视频专题页项目中需要链接腾讯视频,然后再在网页端以弹窗的形式展现,且需要弹窗显示时候视频播放,弹窗关闭时候视频停止,在之前的查阅资料中看到很多案例都说的不是很清晰,今天在经过多次尝试后终于成功了,分享一下,代码如下: 引用的库需要用的有:jQuery, boostrap框架. HTML 结构如下 ...
摘要:如何挑选合适的导航结构导航设计是应用设计的关键,设计规范以下简称规范中将导航元素分为对等层次和历史导航等几类,例如表和透视表导航窗格是对等导航元素,中心大纲细节属于分层导航元素,返回则属于历史导航元素。 此文已由作者杨凯明授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 继Windows 10系统发布之后,很多Windows用户更新了系统。win10系统的发布,...
摘要:并总结经典面试题集各种算法和插件前端视频源码资源于一身的文档,优化项目,在浏览器端的层面上提升速度,帮助初中级前端工程师快速搭建项目。 本文是关注微信小程序的开发和面试问题,由基础到困难循序渐进,适合面试和开发小程序。并总结vue React html css js 经典面试题 集各种算法和插件、前端视频源码资源于一身的文档,优化项目,在浏览器端的层面上提升速度,帮助初中级前端工程师快...
阅读 2950·2021-10-19 11:46
阅读 957·2021-08-03 14:03
阅读 2912·2021-06-11 18:08
阅读 2850·2019-08-29 13:52
阅读 2692·2019-08-29 12:49
阅读 453·2019-08-26 13:56
阅读 909·2019-08-26 13:41
阅读 832·2019-08-26 13:35