javascript - 在按钮单击时将视频添加到页面
问题描述
我是 JS 初学者,我正在尝试让视频全屏播放并替换页面下方的不可见 div。我从Chris Ferdinandi的指南开始。
在他的指南中,视频取代了点击的图像。我希望稍后在页面上放置 div 以在单击时替换。
任何指导都会很棒!
HTML
<a data-video="480459339" class="stylsheetref" href="#" target="">Watch the Tour</a>
<div id="video-replace"></div>
Javascript(从本指南修改)
<script>
if (!Element.prototype.requestFullscreen) {
Element.prototype.requestFullscreen = Element.prototype.mozRequestFullscreen || Element.prototype.webkitRequestFullscreen || Element.prototype.msRequestFullscreen;
}
// Listen for clicks
document.addEventListener('click', function (event) {
//Set invisible Div (new code added by me)
var videonew = '#video-replace');
// Check if clicked element is a video link
var videoId = event.target.getAttribute('data-video');
if (!videoId) return;
// Create iframe
var iframe = document.createElement('div');
iframe.innerHTML = '<p>x</p><iframe width="560" height="960" src="https://player.vimeo.com/video/' + videoId + '?rel=0&autoplay=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>';
var video = iframe.childNodes[1];
// Replace the image with the video
event.target.parentNode.replaceChild(video, videonew);
// Enter fullscreen mode
video.requestFullscreen();
}, false);
</script>
解决方案
你的代码有问题。
var videonew = '#video-replace');
有一个 orphan )
,因为您在 `replaceChild` 方法中使用它,我假设您希望变量引用一个元素。
所以改成
var videonew = document.querySelector('#video-replace');
专业提示:在开发过程中使用开发者控制台可以帮助您找出代码中的此类错误。
推荐阅读
- python - 使用 Python 中的嵌套列表推导从 mongo 集合中获取所有文档
- amazon-web-services - 是否可以未经身份验证访问 AWS Location 'Places' API?
- r - R - 使用嵌套列表选择最佳的行组合(蛮力)
- r - 在 R 中通过多个组使用卡方
- python - 我需要帮助来优化 Sum 3 问题的代码速度
- r-markdown - 如何使用 bookdown 将执行摘要放在 TOC 之前?
- python - Python Pandas 日期转换问题
- azure - Azure KeyVault 从 c# 启用或禁用密钥
- javascript - 为什么我在使用 Lab 库的这个 HapiJS 测试中得到一个未定义的值>
- python - 无法导入名称“Stocker”