【发布时间】:2021-11-23 19:18:06
【问题描述】:
所以我有五个不同的 div 容器和一个 iframe。我需要根据单击的 div 更改 iframe 的 src。它们是 youtube 链接,所以每次我点击特定的 div 时,都应该更改 iframe src。 Divs,点击应该更改的 iframe:
iframe的html代码:
<div class="full">
<iframe id="iframe" class="responsive_frame" src="https://www.youtube.com/embed/K0u_kAWLJOA"></iframe>
</div>
我找到了某种解决方案,但它似乎不起作用:
var locations = ["https://www.youtube.com/embed/K0u_kAWLJOA",
"https://www.youtube.com/embed/c7nRTF2SowQ",
"https://www.youtube.com/embed/6LOD-pwJY6E",
"https://www.youtube.com/embed/8X2kIfS6fb8",
"https://www.youtube.com/embed/p5yUKjOOWvM"
];
var currentIndex = 0;
var len = locations.length;
$(document).ready(function(){
$(document).on('click', '.preview', function(){
currentIndex = this.attr("id") == "1" ?
currentIndex < len - 1 ? ++currentIndex : 0 :
currentIndex > 0 ? --currentIndex : len - 1;
$('#iframe').attr('src', locations[currentIndex]);
});
})
所以基本上,div有预览类,所以当点击带有.preview类的div时jquery应该激活一个功能,然后,给定div的ID,它应该改变iframe的src,但它似乎不起作用.
编辑: 好的,所以我创建了一个全新的页面并尝试了@Rana 方法,但它仍然无法在我的浏览器中运行,所以我转到控制台并出现下一个错误:
所以我不确定,也许它与从 javascript 代码加载 youtube 链接有关?
【问题讨论】:
-
嗨!您可以发布您收到的错误消息吗?我有,并且怀疑是
cross-origin问题,即不允许您嵌入此外部内容。 -
嗨@Philippe!是的,我编辑并添加了错误,但我不知道是什么问题,也许它与 youtube 有关?我还删除了内部函数并添加了 alert('...') 以检查该函数是否有效,但它也不起作用
标签: javascript html jquery css iframe