点击使用YOUTUBE Iframe加载多个video
我在主video容器下面有一些缩略图。 我想点击每个缩略图 – 关联的video加载并开始播放使用新的YOUTUBE API IFRAME方法
您的帮助或指示将不胜感激
在这里预览JSFIDDLE
预览链接更新***
看到这个小提琴: http : //jsfiddle.net/Y9j7R/5/
在加载时运行此代码:
var a = document.getElementsByTagName("a"); //1 for(var i=0; i
代码的详细说明
- 选择文档中的所有
(锚点)元素
- 使用
for
循环遍历这些锚点。 在每次迭代期间,“当前”锚通过a[i]
引用。 - 使用正则表达式的
test
方法检查href
属性是否(!
)包含“#ytplayer
”。 如果此条件为真(即:href
属性不包含“#ytplayer
”),则continue
语句将终止当前迭代,并跳转到下一个锚点。 - 请求当前锚点的
innerHTML
属性。match
方法用于获取videoID。 正则表达式/\/vi\/([^\/]+)/
表示:匹配一个等于/vi/
的子字符串,以及组
。
找到这样的子字符串时,link
变量具有属性1
(一),该属性保存该组的值。 否则,link
等于null
。 - 如果
link
变量不为null
,则创建匿名function
(第5-9行)并执行(第9行)。 该函数的第一个参数将通过vidId
(变量)引用。 - 将新创建的
function
分配给当前锚点的onclick
属性。 将函数分配给onclick
属性将导致定义onclick
事件处理程序。 - 调用
loadVideoById
player
对象的loadVideoById
方法(由YouTube javascript API定义)。 - 调用函数(在第5-9行创建),将
link[1]
作为第一个参数传递。
参考
-
for
循环和continue
语句 - 在JavaScript中创建和调用
functions
- 正则表达式 (RegExp)。
-
RegExp
对象的test
方法 -
match
函数与正则表达式结合使用 - 元素的
innerHTML
属性 -
onclick
事件处理程序 - YouTube JavaScript API的
loadVideoById
方法
另一个有趣的答案
- YouTube iframe API:如何控制已经在HTML中的iframe播放器?