使用jQuery隐藏时暂停Vimeo通用嵌入

tec*_*ant 8 api jquery json vimeo froogaloop

我的页面上隐藏了一个Vimeo视频(通过通用嵌入式iframe).单击链接将其淡入,然后单击视频外部(灯箱样式)将其淡出并隐藏它 - 但视频会继续播放.我在Vimeo的API上读到你可以使用JSON对象暂停视频,但我不明白他们在说什么.

HTML:

<img id="show_tide" class="vid" src"#">
<i<iframe id="tide" class="vim" src="http://player.vimeo.com/video/1747304?portrait=0&amp;color=ffffffapi=1" width="726" height="409" frameborder="0"></iframe>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

$('#underlay').click(function() {
    //pause VISIBLE (there are multiple) Vimeo video via API
    $('.vim, #underlay').fadeOut(400);
});
Run Code Online (Sandbox Code Playgroud)

Khe*_*hez 17

您需要从其中一个froogaloop库添加.

JS

player=$f(document.getElementById('tide'));// you can use jquery too: $('#tide')[0] 
player.api('pause');
Run Code Online (Sandbox Code Playgroud)

非常简单.这是jsfiddle.net上的一个例子.


小智 5

我想在不使用jquery或froogaloop的情况下添加这样的播放/暂停按钮.我不知道为什么,但是,当我不需要时,我讨厌包括一个图书馆.特别是对于像这样的简单事情.

这是我想出的(我只是将其发布给其他正在搜索的人):

<!DOCTYPE HTML>
<html>
<head>
    <title>Vimeo Test</title>
    <script language="JavaScript">
    var iFram, url;
    function startitup(){
        iFram = document.getElementById('theClip');
        url = iFram.src.split('?')[0];
    }
    function postIt(action, value) {
        var data = { method: action };
        if (value) {
            data.value = value;
        }
        if(url !== undefined){
            iFram.contentWindow.postMessage(JSON.stringify(data), url);
        }
    }
</script>
</head>
<body onload="startitup();">
<iframe id="theClip" src="http://player.vimeo.com/video/27855315?api=1" width="400"     height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen>    </iframe>
<p><button onclick="postIt('play');">Play</button> <button     onclick="postIt('pause');">Pause</button></p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)