Вам необходимо правильно использовать .fadeOut()
(и .fadeIn()
) с обратными вызовами. Итак, сигнатура метода, которую вы ищете:
.fadeOut( [duration] [, callback] )
Я должен предсказать, как выглядит ваша разметка, но в целом это не так уж сложно. Использование:
.videoContainer {
background: grey;
height: 400px;
width: 560px;
padding: 10px;
}
.holdFrame,
.hiddenVideo {
width: 100%;
height: 100%;
}
.holdFrame {
background: green;
}
.hiddenVideo {
background: yellow;
display: none;
}
<div class="videoContainer">
<div class="holdFrame">Click to play video.</div>
<div class="hiddenVideo">Video will be here.</div>
</div>
Вы можете:
$(".holdFrame").click(function(){
var $this = $(this);
$this.fadeOut(500, function(){
$this.siblings('.hiddenVideo').fadeIn(500, function (){
$f(players[0]).api('play');
});
});
});
http://jsfiddle.net/yeRxP/
Самое приятное в этом (я уверен, что я изменил вашу разметку и CSS, не зная этого), вы можете иметь более одного видеопроигрывателя на одной странице, и они не будут конфликтовать:
http://jsfiddle.net/yeRxP/2/
Поскольку я не знаком с вашим видеопроигрывателем, вам придется изменить его для воспроизведения правильного видео при обратном вызове .fadeIn()
.