javascript - YouTube 视频结束后隐藏 div

标签 javascript jquery html css youtube

我正在为一个 friend 开发一个简单的单页网站,其中包含一个 YouTube 视频嵌入。我对 YouTube API 不是很熟悉,但我得到了后续工作(见下文)。我需要更改什么以便在视频播放完毕后播放器消失并加载 DIV。

<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: '390',
        width: '640',
        videoId: 'y-y8v4BClZE',
        events: {
            'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
        }
    });
}

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

var done = false;

function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.PLAYING && !done) {
        setTimeout(stopVideo, 720000);
        done = true;
    }
}

function stopVideo() {
    player.stopVideo();
}
</script>

最佳答案

假设您的脚本有效,您应该这样做:

function stopVideo() {
    player.stopVideo();
    document.getElementById("player").style.display = "none";
}

至于视频结束的检测,你应该这样做:

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

关于javascript - YouTube 视频结束后隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25184549/

相关文章:

javascript - 在 Laravel 中基于选项标签渲染表格

用于对象函数扩展的 javascript .prototype

php - JQuery:当用户单击链接时,首先提交表单然后转到链接

javascript - 根据动态宽度更改进度条的类

javascript - 无法在 'send' 上执行 'xmlhttprequest' 加载失败

html - 我在一个页面上有多个 HTML 5 <Audio> 标签,我希望所有标签在播放另一个标签时都暂停

html - 如何访问动态推送到 html 中的 html 元素?

javascript - 代码块内定义的内部函数的语义是什么?

javascript - chrome 扩展弹出窗口的非阻塞警报

Javascript 替换为正则表达式无法正常工作