gpt4 book ai didi

jquery - 循环中的多个放大弹出窗口仅显示最后一项的内容

转载 作者:行者123 更新时间:2023-12-01 03:57:34 25 4
gpt4 key购买 nike

我正在使用此功能通过放大弹出窗口在灯箱中显示 YouTube 视频。我获取 .video-youtube 链接的 id 来为任何链接创建动态 iframe

在此页面中,我有 3 个不同的链接,问题是灯箱仅显示最后一个视频,而不是根据单击的链接动态更改它。任何提示将不胜感激。

<a id="siTrd7uucW" class="video-youtube" href="#">Click to view video</a>
<a id="reFad8ug77" class="video-youtube" href="#">Click to view video</a>
<a id="sghrd7tu99" class="video-youtube" href="#">Click to view video</a>
(function($) {
$(document).ready(function() {
$(".video-youtube").each(function() {
var id = this.id;
$(window).load(function() {
$('.video-youtube').magnificPopup({
items: {
src: $('<iframe width="560" height="315" src="https://www.youtube.com/embed/' + id + '?autoplay=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'),
type: 'inline'
}
});
});
});
});
})(jQuery);

最佳答案

首先,window.load不是必需的。您正在 document.ready 处理程序中运行,因此 window.load 已经被触发。

关于这个问题,这是因为您在循环中选择了所有 $('.video-youtube') 元素。使用$(this)引用当前实例:

(function($) {
$(function() {
$(".video-youtube").each(function() {
$(this).magnificPopup({
items: {
src: $('<iframe src="https://www.youtube.com/embed/' + this.id + '?autoplay=1" width="560" height="315" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'),
type: 'inline'
}
});
});
});
})(jQuery);

关于jquery - 循环中的多个放大弹出窗口仅显示最后一项的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61753909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com