【问题标题】:Youtube video ends fade outYoutube视频结束淡出
【发布时间】:2014-10-12 13:48:07
【问题描述】:

我正在尝试让我的 youtube 视频 api 框架在播放后淡出,但无法使其正常工作。它在前一段时间有效,但我必须对脚本做了一些事情来搞砸它。

我也试过document.getElementById("video").style.display = "none";,但还是不行。我真的想让它淡出。

<div id="player"></div>

<script>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var player;

function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
        height: '480',
        width: '853',
        videoId: '7u-liW-xRE4',
        playerVars: { 
         'autoplay': 1,
         'showinfo': 0,
         'controls': 0, 
         'rel' : 0

  }
    });

}



function onPlayerReady(event) {
    event.target.playVideo();
}

var done = false;

function onPlayerStateChange(event) {        
    if(event.data === YT.PlayerState.ENDED) {          
        stopVideo();
    }
}

function stopVideo() {
    player.stopVideo();
    document.getElementById("video").fadeOut();
}
</script>

【问题讨论】:

    标签: jquery youtube youtube-api


    【解决方案1】:

    您要查找的是视频结束时 YT Api 发送的事件。现在您正在发出结束视频的命令。那是两种不同的东西。试试这个:

    function onPlayerStateChange(event) {
    
        if (event.data == YT.PlayerState.PLAYING) {
    
             console.log('awesome video playing');      
    
        }
        if (event.data == YT.PlayerState.ENDED) {
    
            jQuery('your element').fadeTo('fast', 0).hide();
    
        }   
    }
    

    我建议您不要在代码中混合使用 javascript 和 jquery 样式,因为这可能会造成混淆。

    【讨论】:

    • 所以我删除下面的所有内容 onYouTubeIframeAPIReady() 并放置您所说的内容?我在“很棒的视频播放”中添加了什么?
    • 呃,不。 onPlayerReady(event) 不会干扰我所说的。那是你的自动播放功能。你想要的是与此无关的东西。您可以将 onPLayerStateChange(event) 与 onPLayerReady 函数分开使用。但真正简单的是在developers.google.com/youtube/iframe_api_reference?hl=nl 处复制功能代码,然后在需要的地方进行更改。
    • 对不起,我不明白。我保留我已经拥有的代码并将你的东西放在底部?我需要 PLAYING 状态吗?
    • 显然PLAYING状态仅供参考。如果您想在视频结束后执行某些操作,请使用 ENDED。如果您想在暂停时执行某些操作,请使用 PAUSED。因此,您可以在已有代码之后将我的代码复制到您的代码中,或者您可以从谷歌开发者页面调整代码。很有见地,值得一读。
    • 如果有帮助,请重视答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    • 2012-06-02
    • 2012-08-19
    • 2013-08-24
    相关资源
    最近更新 更多