因此,我需要在页面上动态生成内容块。这些块有一个缩略图,当它被点击时,它应该打开一个模式,并显示一个独特的覆盖窗口,以及独特的相关视频。
我正在尝试编写一些可以正确遍历 DOM 树的通用 JavaScript,以便在单击任何特定缩略图时,将打开一个模式、相关的叠加层和相关的视频。
这是我现在拥有的一个示例(其中有很多,动态添加的):
<div class="block">
<div class="thumbnail">
//Thumbnail image
</div>
<p>Video Description</p>
<div class="window hide">
<div class="video hide">
//Video content
</div>
</div>
</div>
<div id="modal" class="hide"></div>
在尝试做很多不同的事情之后,我最终尝试为 JavaScript 做这样的事情,但这是行不通的:
$(".thumbnail").on("click",function(){
$("#modal").removeClass("hide").addClass("show");
$(this).closest(".window").removeClass("hide").addClass("show");
$(this).closest(".video").removeClass("hide").addClass("show");
});
CSS 非常基础:
.hide { display: none; }
.show { display: block; }
尝试使单击功能尽可能通用,以便它可以在任何被单击的 .thumbnail 上工作。我还交换了 find(".window") 和 children(".window") 但没有任何反应。关于我做错了什么的任何想法?谢谢!