Vimeo 嵌入完成时显示元素

Posted

技术标签:

【中文标题】Vimeo 嵌入完成时显示元素【英文标题】:Show element when Vimeo embed finishes 【发布时间】:2013-12-09 03:15:07 【问题描述】:

我正在使用以下 sn-p 在我的页面上动态嵌入 Vimeo 视频:

<iframe id="singlepage"src="http://player.vimeo.com/video/<?php the_field('vimeo_id'); ?>?api=1&player_id=singlepage&color=ffffff"   frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>

我想显示一个包含相关视频的元素,但仅在嵌入视频完成时。我已经使用display:none 隐藏了该元素,当视频结束时,我想添加一个类来显示该元素。

这是我在点击触发器button 时用来播放视频的内容:

function post(e, t) 
    var n = 
        method: e
    ;
    if (t) 
        n.value = t
    
    f[0].contentWindow.postMessage(JSON.stringify(n), url)

var f = $("iframe"),
    url = f.attr("src").split("?")[0];
$("#play-video").click(function () 
    post("play")
);
$("button").on("click", function () 
    post($(this).text().toLowerCase())
)

我如何调整它来监听视频的结尾并显示一个元素?

这是一个基本的小提琴,详细说明了我到目前为止的内容:http://jsfiddle.net/GxwEX/154/

【问题讨论】:

喜欢那里看看如何附加完成事件:jsfiddle.net/mottie/gxwex @A.Wolff 感谢您的链接,这是我见过的更清晰的演示之一,但我仍然在努力克服比在跨度标签中打印“完成”更高级的东西。这是我的小提琴:jsfiddle.net/GxwEX/154 您在寻找什么?你可以做任何你想做的事情,只检查完成事件,例如:jsfiddle.net/GxwEX/155 @A.Wolff 我想在视频结束后为元素添加一个类,使用上面的优秀示例小提琴我现在已经完全得到了我需要的东西,非常感谢,就是这样我在网上看到的第一个适当的例子,用于 vimeo 嵌入的有意义的完成事件,在此处更新小提琴:jsfiddle.net/GxwEX/156 @A.Wolff P.S 如果您发布您的小提琴或我的最终小提琴作为答案,我很乐意接受,我相信其他人会对解决方案感兴趣 【参考方案1】:

最终代码:;)

function onMessageReceived(e) 
    var data = JSON.parse(e.data);

    if (data.event === 'ready') 
        post('addEventListener', 'play');
        post('addEventListener', 'pause');
        post('addEventListener', 'finish');
     else if (data.event === 'finish')
        $( ".related" ).addClass( "show" );
    


if (window.addEventListener)
    window.addEventListener('message', onMessageReceived, false);
 else  // IE
    window.attachEvent('onmessage', onMessageReceived, false);

(你的)DEMO

【讨论】:

解决了!再次感谢您。

以上是关于Vimeo 嵌入完成时显示元素的主要内容,如果未能解决你的问题,请参考以下文章

jQuery - 在悬停另一个元素时显示一个元素

如何让元素在父级悬停时显示?

在自动完成输入上写入时显示/隐藏按钮

在 Woocommerce 中选择的运输方式更改时显示或隐藏 html 元素

在 WebView 加载时显示另一个故事板,然后切换回原始故事板

在 ruby​​ on rails 中单击时显示元素