我有一个带有容器的页面,该容器通过新的通用嵌入从 vimeo 嵌入了多个视频。所有视频都位于一个较小的容器中,其中嵌入了 iframe 和一段描述视频的段落。jQuery 最初隐藏了较小的容器,并根据您单击的缩略图在适当的容器中动态选择和淡入淡出。无论哪个容器处于活动状态,都可以通过单击关闭按钮或容器外部(想想灯箱)淡出。在所有包含视频的较小容器中,有一个包含两个视频,可以通过视频下方的链接在它们之间切换。加载后,视频#regular 会显示并单击链接将其淡出,然后将 #behind 淡入。
我遇到的问题是,如果我打开一个视频,将其关闭,然后打开同一视频或另一个视频,Vimeo 播放器就会被隐藏。带有单个段落信息的较小容器被完美地引入。
我编写的代码一次引入一个与您单击的缩略图相关的容器。我认为问题在于它明确隐藏了视频以适应单个视频切换。
谢谢你的帮助!
HTML:
<div id="container">
<div id="close"></div>
<div id="tide" class="vim">
<iframe class="vid" src="http://player.vimeo.com/video/1747304?api=1&title=0&byline=0&portrait=0&color=ffffff"></iframe>
<p>
"It's High Tide Baby!"<br />
The Blackout feat. Ian Watkins (Lostprophets)<br />
Fierce Panda
</p>
</div>
<div id="knew" class="vim">
<iframe class="vid" src="http://player.vimeo.com/video/4622464?api=1&title=0&byline=0&portrait=0&color=ffffff"></iframe>
<p>
"If Only They Knew"<br />
A Rocket To The Moon<br />
Fueled by Ramen/Atlantic Records
</p>
</div>
<div id="fire" class="vim">
<iframe id="regular" class="vid" src="http://player.vimeo.com/video/22327264?api=1&title=0&byline=0&portrait=0&color=ffffff"></iframe>
<iframe id="behind" class="vid" src="http://player.vimeo.com/video/22466069?api=1&title=0&byline=0&portrait=0&color=ffffff"></iframe>
<p style="float:left">
"Sound of Fire"<br />
This Century<br />
Warner Brothers Records
</p>
<p id="bts" style="float:right;color:#000000;cursor:pointer;">
<br />
Click to launch the "Sound of Fire" behind the scenes video!<br />
</p>
</div>
JavaScript:
//Hide containers
$('.vim, #behind, #close, #container, #underlay').hide();
//Fade in video corresponding to thumbnail
$('.thumbnail').click(function() {
var id = $(this).attr("id").replace("show_","").toLowerCase();
$('#' + id + ', #close, #container, #underlay').fadeIn(400);
var player=$f($('.vid:visible')[0]);
player.api("seekTo", "0").api('play');
});
//Toggle between videos in the #fire div
$('#bts').click(function() {
$('#regular').fadeOut(400, function () {
$f(this).api('pause');
$('#behind').fadeIn(400, function () {
$f(this).api('play');
});
});
});
//Close whichever video is visible
$('#close, #underlay').click(function() {
var $videos = $('.vid');
$f($videos.filter(':visible')[0]).api('pause');
$videos.hide();
$('.vim, #close, #container, #underlay').fadeOut(400, function() {
$videos.first().show();
});
});
$('#close, #underlay').click(function() {
var $videos = $('.vid');
$f($videos.filter(':visible')[0]).api('pause');
$('.vim, #close, #container, #underlay').fadeOut(400, function() {
$('#behind').hide();
$('#regular').show();
});
});