javascript - 模态图像功能仅显示数据库中所有其他 div 的第一张图像
问题描述
所以我想让每个缩略图图像都显示它自己的大细节图像。在使用 CSS 中的简单“活动”元素之前,我得到了它。但现在我想尝试在模态框/图像中显示。所以这是我用于显示缩略图的 html 代码。
<div id="product-image" ><img id="product-thumbnail" src="<?php echo $row["image"]; ?>" onclick="openDetail()">
<?php $hoverimg = $row["hover-img"]; ?>
<span id="span-img"><img id="hover-img" src="<?php echo $hoverimg ?>"><span class="close">×</span></span>
</div>
通过单击“img id =”product-thumbnail”,我可以从“span”显示模态图像。但手头的问题是我可以单击并显示每个“img”的 span 元素,但 span-img 是即使在其他产品缩略图上也一样。当我尝试在浏览器中检查每个 span-img 直接到正确的 src 时。这导致我质疑我的 JS 代码。这是我的脚本
function openDetail() {
var img = document.getElementById("span-img");
img.style.visibility = "visible";
任何帮助将不胜感激 - 谢谢
解决方案
<div id="product-image_<?php echo $i; ?>" ><img id="product-thumbnail_<?php echo $i; ?>" src="<?php echo $row["image"]; ?>" onclick="openDetail()">
<?php $hoverimg = $row["hover-img"]; ?>
<span id="span-img_<?php echo $i; ?>"><img id="hover-img_<?php echo $i; ?>" src="<?php echo $hoverimg ?>"><span class="close">×</span></span>
</div>
ID 必须是唯一的。如果你想为你的 div 或其他东西设置样式,请改用类(也可以使用部分字符串匹配)。
推荐阅读
- c++ - Kinect 4 Windows 无法获取时间戳
- c# - ASP.NET 智能卡映像
- vba - 数字是否在字符串中的特定位置?
- javascript - 微前端 - 如何动态加载带有哈希的 URL
- ringcentral - 当我为 Authenticate 和 Request Token API 调用定义不同的 URI 时,为什么会收到 400 错误请求?
- ios - Aplitude 未记录在“applicationWillTerminate”iOS 中编写的事件
- javascript - 带有自动建议的 Extjs 级联组合框
- java - 静态内部类字段值(默认为 0,为什么?)
- java - SoapHeaderElement 孩子?
- swift - 我可以使用 DispatchSemaphore 来控制主队列上的线程吗?