jQuery用淡入和淡出替换嵌入的Vimeo

|| 我想淡出Vimeo通用嵌入(iframe版本),暂停它,淡入另一个,然后自动播放。我的代码淡出并暂停了第一个视频,但立即带来了新的视频(没有淡出),然后没有自动播放它。我猜这是语法问题。我正在使用froogaloop js库来控制Vimeo API。 有想法吗?谢谢你的帮助! HTML:
    <div id=\"fire\" class=\"vim\">
        <iframe id=\"regular\" class=\"vid\" src=\"http://player.vimeo.com/video/22327264?api=1&amp;title=0&amp;byline=0&amp;portrait=0&amp;color=ffffff\"></iframe>
        <iframe id=\"behind\" class=\"vid\" src=\"http://player.vimeo.com/video/22466069?api=1&amp;title=0&amp;byline=0&amp;portrait=0&amp;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;\">
            &nbsp;<br />
            Click to launch the \"Sound of Fire\" behind the scenes video!<br />
            &nbsp;
        </p>
    </div>
JavaScript:
    $(\'#behind\').hide();
    $(\'#bts\').click(function() {
        $(\'#regular\').fadeOut(400);
        var player=$f($(\'.vid:visible\')[0]);
        player.api(\'pause\');
        $(\'#behind\').fadeIn(400);
        player.api(\'play\');
    });
    
已邀请:
jQuery的
.fadeIn()
.fadeOut()
在动画运行时不会阻止进一步的代码执行。如您所见,这意味着淡出开始后播放器将暂停,此后立即开始淡入,并且播放器不会暂停。 如果要在动画完成后使用执行代码,则需要使用(可选)回调参数:
$(\'#bts\').click(function() {
    $(\'#regular\').fadeOut(400, function () {
        $f(this).api(\'pause\');
        $(\'#behind\').fadeIn(400, function () {
            $f(this).api(\'play\');
        });
    });
});
    
你已经定义
var player=$f($(\'.vid:visible\')[0]);
并使用相同的var播放器执行动作(暂停和播放)
player.api(\'pause\')
player.api(\'play
)` 顺便说一句,你在用这段代码做什么
var player=$f($(\'.vid:visible\')[0]);
更新 我希望这会工作(原始代码)
$(\'#behind\').hide();
$(\'#bts\').live(\'click\',function() {
    $(\'#regular\').fadeOut(400,function(){
        $f(this).api(\'pause\');
    });
    $(\'#behind:hidden\').fadeIn(400,function(){
        $f(this).api(\'play\');
    });      
})
注意:感谢@Matt Ball     

要回复问题请先登录注册