【发布时间】:2015-10-03 14:36:40
【问题描述】:
我正在使用以下代码(由我的朋友编写,我是 JS 的初学者)创建了几个带有不同 youtube 视频的 iframe,然后我可以使用 seekTo(t) 函数从文本中链接到-
var players = [];
function onYouTubeIframeAPIReady() {
YTready()
}
function createPlayer(ref, divID, videoID) {
players[ref] = new YT.Player(divID, {
height: '360',
width: '640',
videoId: videoID,
events: {}
});
}
function jumpToTimecode(ref,t){
for(var i=0;i<players.length;i++){
if(i!=ref){
players[i].stopVideo()
}
}
players[ref].seekTo(t)
players[ref].playVideo()
}
它包含一种在用户单击链接后停止所有其他视频的方法。如果用户只需单击其中一个 youtube 播放器上的播放按钮,我想做的是添加一个功能可以做同样的事情(停止页面上的所有其他视频)。
我正在考虑在 createPlayer 函数中定义一个 'onStateChange': onPlayerStateChange 事件,然后添加一个函数,当任何玩家将其状态更改为正在播放时 // if (event.data == 1) // 会循环遍历所有玩家并停止任何不是被点击的玩家。不过,我不确定如何引用被点击的播放器(因为它可能是其中任何一个,所以我事先不知道它的 'ref' 值)。
或者这是处理此问题的错误方法? 任何帮助将不胜感激。
【问题讨论】:
标签: javascript arrays iframe youtube