【发布时间】:2023-03-22 07:45:01
【问题描述】:
学习javascript。我有一个项目,其中包含触发 iframe 内的视频的链接。这个想法是,当您单击链接时(在这种情况下,ID 为“可点击”),视频将显示并开始播放。当您再次单击时,它会关闭,并且在播放结束时也会自动关闭。我写了一些糟糕的代码,已经有人帮我解决了这个功能:
$(document).ready(function(){
var frame = $("#frame");
var player;
frame.bind("load", function () {
player = $(this).contents().find("#myVid");
player.on('ended', function () {
frame.removeClass("open");
});
});
$("#clickable").click(function(){
if (frame.hasClass("open"))
{
frame.removeClass("open");
player[0].pause();
}
else {
frame.addClass("open");
player[0].play();
}
});
});
这非常有效。我现在想要的是,由于我的页面包含大约 10 个 iframe 元素,因此不必编写此函数十次。那么我如何将点击链接和视频 ID 作为参数传递,以便我可以使用 switch 语句使我的代码更加优雅?
我的思路是这样的:
var userClick;
userClick.on('click' function () {
var frame = $("#frame");
var player;
etc....
但我不确定如何获取“点击”的 ID(如果有意义),以及如何获取视频 ID。谢谢你的时间。 P
【问题讨论】:
-
您可能想要使用数据属性。您可以输入 data-video="URL*" 之类的内容,然后使用 $(elem).data('video') 在 jQuery 中获取它。
标签: javascript jquery html variables iframe