Javascript 如何显示并使自己的播放控制youtube嵌入IframePlayerAPI,通过滚动事件触发

Javascript 如何显示并使自己的播放控制youtube嵌入IframePlayerAPI,通过滚动事件触发,javascript,youtube,youtube-iframe-api,Javascript,Youtube,Youtube Iframe Api,如果我用这个 var player; function onYouTubeIframeAPIReady() { player = new YT.Player('video-placeholder', { width: 600, height: 400, videoId: 'zYdquUPcRSw', playerVars: { color: 'white', },

如果我用这个

var player;

function onYouTubeIframeAPIReady() {
    player = new YT.Player('video-placeholder', {
         width: 600,
         height: 400,
         videoId: 'zYdquUPcRSw',
         playerVars: {
             color: 'white',
         },
   });
}

function myFunction() {
    console.log(player);
    player.playVideo();
}
它可以工作,但我想在触发滚动事件时显示youtube,所以我添加了这样的行代码

var player;

function onYouTubeIframeAPIReady() {
     window.onscroll = function() {
         player = new YT.Player('video-placeholder', {
             width: 600,
             height: 400,
             videoId: 'zYdquUPcRSw',
             playerVars: {
                 color: 'white',
             },
         });
     }
}

function myFunction() {
     console.log(player);
     player.playVideo();
}
它可以工作,youtube在我滚动窗口时显示,但是函数
playVideo()
不起作用(注意:
playVideo()
里面有
myFunction()
)。在我尝试用
console.log(player)
显示
player
变量之后。我发现变量中没有这样的函数:

当我不使用window.onscroll函数时,结果不同,如果我使用console.log到variable player,结果如下:


是否可以“使用youtubeIframeAPI显示并制作自己的控制youtube,并由滚动事件触发”

这可能是由于YT的多次启动。播放器处于滚动状态,请尝试将其限制为在第一次滚动后仅触发一次。@AbhishekKumarTiwari我想可能是因为滚动事件触发多次,但我用另一个只触发一次的事件进行了更改,我将“scroll”事件更改为单击“event to BODY”元素,它仍然是一样的,仅当我使用事件“load”时才起作用。这可能是由于YT.Player多次启动的缘故,因为它在scroll上,试着限制它在第一次滚动后只触发一次。@AbhishekKumarTiwari我想可能是因为滚动事件触发了多次,但我已经更改了另一个只触发一次的事件,我将“滚动”事件更改为单击事件到主体元素,它仍然是一样的,只有在使用事件“加载”时才有效。