javascript - 如何通过双击使视频全屏
问题描述
我正在构建一个项目,我需要网站中的视频自动播放,当用户单击视频时,它会暂停视频,并且视频上会出现暂停徽标。当用户双击视频时,它会扩展到全屏。我能够获得前两部分,但在双击时将视频扩展到全屏时失败了。而且我不知道出了什么问题..
js
var elem = document.getElementsByClassName("video");
$( document ).ready(function() {
$(".playpause").fadeOut(); <!-- makes the play button fade out when autoplay starts when the website finished loading -->
});
$('.video').parent().click(function () {
if($(this).children(".video").get(0).paused) {
$(this).children(".video").get(0).play();
$(this).children(".playpause").fadeOut();
} else {
$(this).children(".video").get(0).pause();
$(this).children(".playpause").fadeIn();
}
});
$(".video").dblclick(function() {
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.mozRequestFullScreen) {
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) {
elem.webkitRequestFullscreen();
} else if (elem.msRequestFullscreen) {
elem.msRequestFullscreen();
}
});
html
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
<center><p>Introduction Video</p></center>
<video class="video" autoplay>
<source src="http://e14aaeb709f7cde1ae68-a1d0a134a31b545b257b15f8a8ba5726.r70.cf3.rackcdn.com/projects/31432/1427815464209-bf74131a7528d0ea5ce8c0710f530bb5/1280x720.mp4" type="video/mp4" />
</video>
<div class="playpause"></div>
</div>
谢谢!
解决方案
getElementsByClassName
返回一个集合,但您将返回的节点列表视为单个元素。因此,您的选择是分配索引 0 处的元素,或者选择返回单个元素的选择器。
var elem = document.getElementsByClassName("video")[0];
或者:
var elem = document.querySelector('.video');
或者更好的是,您可以使用this
返回目标元素的关键字并避免elem
一起使用。
$(".video").dblclick(function() {
if (this.requestFullscreen) {
this.requestFullscreen();
}
else if (this.mozRequestFullScreen) {
this.mozRequestFullScreen();
}
else if (this.webkitRequestFullscreen) {
this.webkitRequestFullscreen();
}
else if (this.msRequestFullscreen) {
this.msRequestFullscreen();
}
});
推荐阅读
- html - 水平放置带有浮动文本的段落
- c# - 将 JSON 作为资源加载到对象
- kotlin - Kotlin JS:搜索完整课程
- html - 如何在电子邮件中嵌入图像?
- java - 为什么“import org.apache.commons.math3.distribution.ChiSquaredDistribution”有效而“import org.apache.commons.math3”无效?
- css - 是否可以将 &:after 添加到 SASS 中的父级?
- excel - VBA中的绘制箭头超出范围
- netsuite - 有没有办法以编程方式对采购账单应用折扣?
- shell - sh:通过字符串名称访问变量值
- redux - 可检查的 promise.catch 是反模式吗?