我使用iframe函数嵌入视频,并通过JavaScript隐藏/显示内容和视频。
我有一个问题。当我在第一个视频上按播放,然后在不停止第一个视频的情况下单击下一个视频时,第一个视频会继续播放。
当显示新内容时,我可以做些什么来停止"背景"中的视频?
$(function(){
$("#link1").click(show1);
});
function show1(){
$("#pic1").fadeIn();
$("#pic2").hide();
}
我只是使用这个简单的JavaScript函数,其中"pic1"one_answers"pic2"id是div的id,视频嵌入其中。
我似乎就是做不到。我试着删除,但如果你想的话,你就不能再看视频了。
这是YouTube播放器API的一个实现,无需加载额外的文件。为了完成这项工作,您必须将<iframe>
的所有src
属性后缀为?enablejsapi=1
。
示例(为了可读性,我将代码分成了几行,您可以安全地省略换行符):
<div id="pic3">
<iframe width="640" height="390"
src="http://www.youtube.com/embed/Xub4grFLbQM?enablejsapi=1"
frameborder="0" allowfullscreen></iframe>
</div>
<div id="tS2" class="jThumbnailScroller">
.. Removed your code for readability....
<a href="#vid3" id="link3"><img src="images/thumbs/player2.jpg" height="85"/></a>
....
JavaScript+jQuery代码:
$(function() {
/* elt: Optionally, a HTMLIFrameElement. This frame's video will be played,
* if possible. Other videos will be paused*/
function playVideoAndPauseOthers(frame) {
$('iframe[src*="http://www.youtube.com/embed/"]').each(function(i) {
var func = this === frame ? 'playVideo' : 'pauseVideo';
this.contentWindow.postMessage('{"event":"command","func":"' + func + '","args":""}', '*');
});
}
$('#tS2 a[href^="#vid"]').click(function() {
var frameId = /#vid(d+)/.exec($(this).attr('href'));
if (frameId !== null) {
frameId = frameId[1]; // Get frameId
playVideoAndPauseOthers($('#pic' + frameId + ' iframe')[0]);
}
});
});