2

我正在使用嵌入的 youtube 视频。我需要用图像替换它,当点击图像时,视频开始播放我已经实现的:

<script type="text/javascript">
   function start_video() {
      var iframe = '<iframe title="YouTube video player" width="590" height="360" src="http://www.youtube.com/embed/nCgQDjiotG0?autoplay=1&amp;rel=0&showinfo=0" frameborder="0" title="none" allowfullscreen></iframe>';
      document.getElementById("video_player").innerHTML = iframe;
   }
</script>

和html:

<div id="video_player"><img style="cursor: pointer;" onclick="start_video();" src="fake_image.jpg" alt="Play Video" /></div>

但是现在我通过单击某些 div 或其他元素并同时用图像替换视频来停止该视频时遇到问题。

4

2 回答 2

2

我建议您阅读 javascript Youtube API,它为您提供比将 iframe 嵌入页面更多的控制权

于 2012-07-24T11:45:42.810 回答
1

你为什么不给 iframe 一个 id 然后删除 iframe 并将图像放在那里?

function stop_video() {
    var elem = document.getElementById('video_iframe');
    var parent = elem.parentNode;
    parent.removeChild(elem);
    var image = document.createElement('img');
    image.setAttribute('src','yourImage.jpg');
    parent.appendChild(image);
}

我还建议您不要像以前那样设置innerHTML,您实际上应该处理像上面这样的对象。

function start_video() {
    var iframe = document.createElement('iframe');
    iframe.setAttribute('title','Youtube video player');
    iframe.setAttribute('width','590');
    iframe.setAttribute('height','360');
    iframe.setAttribute('src','http://www.youtube.com/embed/nCgQDjiotG0?autoplay=1&amp;rel=0&showinfo=0');
    iframe.setAttribute('frameborder','0');
    iframe.setAttribute('allowfullscreen','allowfullscreen');
    document.getElementById('video_player').appendChild(iframe);
}
于 2012-07-24T11:49:52.300 回答