如何在您的网站上叠加YouTube视频

时间:2015-02-28 05:39:09

标签: javascript html css html5 youtube

您好我正在试图弄清楚如何进行操作

1.单击页面上的图像

2.这会将youtube视频叠加在当前页面上

3.点击屏幕的任何透明部分将使用户返回到所述页面

我添加了一个屏幕截图,以帮助说明我的方案。 感谢您提前的帮助,这是我正在进行的一个侧面项目! 我想在附加图像之前需要更多声誉,所以我添加了一个jing截图。 http://screencast.com/t/ceBkx8K1Cy7

1 个答案:

答案 0 :(得分:2)

这是一个非常简单的方法,我认为无需插件即可满足您的需求。您可以使用视频大小和位置,但逻辑不会改变。显示视频后,点击“测试”按钮。按钮不会触发默认事件(和警报) - 而是与视频外的整个区域相同。隐藏视频后,TEST链接将正常工作。请使用全屏'运行代码段时的选项。

如果要在隐藏div时停止播放视频,则需要动态加载iframe作为按钮单击功能的一部分,然后在隐藏它时将div html设置为''



$('#btn').click(function() {
  $('#video, #overlay').fadeIn('slow');
  $('#video-container').html('<iframe width=560 height=315 src=https://www.youtube.com/embed/OMOga8x6aLk frameborder=0 allowfullscreen></iframe>');
});

$(document).on('touchend, mouseup', function(e) {
  if (!$('#video').is(e.target)) {
    $('#video, #overlay').fadeOut('slow');
    $('#video-container').html('');
  }
});

$('#btn2').click(function() {
  alert('video is not visible');
});
&#13;
#container {
  width: 600px;
  height: 600px;
  border: 2px solid #888888;
  position: relative;
  text-align: center;
}
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  height: 100%;
  width: 100%;
  background: #ffffff;
  opacity: 0.6;
  display: none;
}
#video {
  display: none;
  position: absolute;
  top: 15%;
  left: 10%;
  width: 80%;
  z-index: 2;
}
#video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
#video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
  <button id="btn">CLICK ME</button>
  <br>
  <br>
  <button id="btn2">TEST</button>

  <div id="overlay"></div>

  <div id="video">
    <div id="video-container"></div>
  </div>
</div>
&#13;
&#13;
&#13;

编辑:出于某种原因,Youtube视频不能在SO沙盒中播放,我现在没有时间弄清楚原因。这是一个FIDDLE,它很好(相同的代码)。

编辑2:更新了代码,以提供视频容器的响应大小/位置。

编辑3:添加了对touchend事件的支持。

相关问题