我使用Youtube iframe API在页面上加载了四个视频。我发现,如果您在视频播放结束后运行.stopVideo()
,如下所示:
player = new YT.Player('S1_iframe', {
videoId: 'nWMpQMiWXNc',
events: {
'onStateChange': function(event) {
if (event.data == YT.PlayerState.ENDED)
{ player.stopVideo(); }
}
}
});
它在视觉上“重置”了视频,使其看起来像单击之前一样。我喜欢这样,想为每个视频都这样做,但是问题是我不想编写一个新的函数来为每个播放器调用:
function(event) {
if (event.data == YT.PlayerState.ENDED)
{ player.stopVideo(); }
}
必须有一个更好的解决方案。有一种写这样的东西的方法:
function onPlayerStateChange(event){
if (event.data == YT.PlayerState.ENDED)
{
this.stopVideo();
}
}
并为每个播放器调用该函数,以便该函数关注正在调用它的特定播放器并仅为该播放器触发.stopVideo()
?上面函数中的“ this”关键字不能解决问题。这是代码库:https://codepen.io/Wcomp/pen/vbdLam