2012-03-03 113 views
0

在Chrome/Safari中,Vimeo视频会在灯箱关闭后继续在后台播放。此时,“detach”会停止播放视频,但当您关闭Lightbox并单击某个菜单项以重新打开视频时,视频div将为空白。我试过“克隆”和“追加”,无法将视频恢复。jQuery detach div,追加div

网站功能: 点击“a”“b”“c”,灯箱出现在视频中。 单击灯箱中的“X”并关闭灯箱内容。

HTML/CSS 
    a id="alphaa" <------ The a, b, c menu item, when clicked, open the lightbox 
    .abcbox_content <------- The div that holds all the content for the lightbox 
    #videowrapper <------ div that holds the Vimeo iframe 
    .abc-align-right <---- the "X" to close the lightbox 

这里是我到目前为止的jQuery。

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $(".abc-align-right").click(function() { 
    $("#videowrapper").clone(true); 
    $("#videowrapper").contents().detach(); 
    if ($(".abcbox_content").is(':visible')) 
    $("#videowrapper").append(); 
    }); }); 
    </script> 

感谢所有帮助

回答

0

它看起来像你复制的元素,但不能使用克隆。试试这个:

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $(".abc-align-right").click(function() { 

     $("#videowrapper").replaceWith($("#videowrapper").clone(true)); 

    }); 
    </script> 
+0

感谢您的回复。这显示了视频,但将视频放在文本块的底部。也许引用错误的div? – Andrea 2012-03-03 02:01:46

+0

也许吧。你可以尝试像'$(“#videowrapper”)。replaceWith($(“#videowrapper”)。clone(true));' – Malk 2012-03-03 02:05:50

+0

我真的不知道是否需要所有其他的东西。换掉这些元素并称之为好。我编辑了我的答案。 – Malk 2012-03-03 02:14:46

0

您也可以使用Vimeo Javascript API来暂停和取消暂停视频。

参见:http://vimeo.com/api/docs/player-js

你不得不一个id分配到的iframe,然后是这样的:

$(".abc-align-right").click(function() { 
    $("#iframe_id").postMessage({ "method": "pause" }); 
}); 

,只要你做的灯箱出现呼叫:

$("#iframe_id").postMessage({ "method": "play" }); 

由于您需要此功能才能在同一页面上处理3个视频,因此您还可以使用iframe或单独的id的类。

+0

是的,我看到了,但他们失去了我后添加“api = 1”的网址 – Andrea 2012-03-03 02:33:19

+0

感谢张贴。我会给它一个镜头。 – Andrea 2012-03-03 02:35:19