【发布时间】:2015-11-21 02:14:31
【问题描述】:
我在页面上有大约 18 张图片,我试图在单击图片时以模态显示更大,但每次只显示第一张图片。
我尝试过使用$(this).find('img') 遍历 DOM,我也尝试过使用孩子们也尝试过将图像设置为不同的 id 并将它们设置为变量。
我目前的尝试是将小图像的路径设置为与大图像的路径相同的 id,然后使用 find。我现在只“设置”了前两个图像,因为我还不能让它正常工作。
顺便说一句,我尝试了其他放大和弹出框和插件的方法也没有成功,这是我最接近可行的方法。
注意:还有另一个问题显示了几乎相同的问题,但那里的答案对我不起作用。
<img height="100" width="80" id="1" data-toggle="modal" data-target="#myModal" data-dismiss="modal" src='~/Content/MyPics/TextDollarPart1.JPG' alt='Text dollar code part one.' />
<div id="myModal" class="modal fade" >
<div class=" modal-lg">
<div class="modal-content">
<div class="modal-body">
<img id="1"src="~/Content/MyPics/TextDollarPart1.JPG" class="img-responsive" height="1500" width="1000">
</div>
</div>
</div>
</div>
<img height="100" width="80" id="2" data-toggle="modal" data-target="#myModal" data-dismiss="modal" src="~/Content/MyPics/TextDollarPart2.JPG" alt="Text dollar code part two." />
<div id="myModal" class="modal fade">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-body">
<img id="2" src="~/Content/MyPics/TextDollarPart2.JPG" class="img-responsive" height="1500" width="1000">
</div>
</div>
</div>
</div>
脚本
$(document).ready(function () {
$('img').on('click', function () {
var picID = $(this).attr('id');
$(this).find('picID');
$('picID').modal('toggle');
});
});
【问题讨论】:
-
您不能多次使用 id。此外,最好使用 id 更具描述性。例如,image-2、modal-2。您拥有的 id (myModal, 1, 2) 应该在您的元素上使用一次且仅一次。
-
我尝试了唯一 ID,但没有成功,所以出于绝望,我尝试将它们设置为相同的匹配大小图像。我只使用一种模式,所以根据我看到的另一种解决方案,将数据目标命名为相同是正确的方法。当然,该解决方案对我不起作用。在为此工作了 10 个小时之后,描述性名称不再是优先事项。也许你有一些有用的建议。
-
可能要考虑使用影子盒库
-
@KirstinWalsh,如果您还没有弄清楚,请查看下面的答案
标签: javascript jquery html bootstrap-modal