Javascript 如何正确地将图像源分配给模态图像显示?
我正在尝试显示前后的图片,单击其中任何一个都会将其显示为模式。我能够点击每个图像,打开模式窗口,并获得一个图像来填充模式显示的内容。作业似乎对第一幅图像有效,但为什么对其他图像无效 HTML Photoshop 你应该一直努力获得最好的投篮机会,而不必做太多的后置动作(如果有的话)。但有时你会发现照片中有瑕疵,比如由于相机传感器上的瑕疵而产生的幻影斑点。有时,你没有得到流行的颜色。你的照片曝光过度了。灯光很差。有太多的因素,无论是在你的控制之内还是之外,都会使你无法充分利用你的照片。在这种情况下,必须熟练使用Photoshop。 这里有几个例子,我如何使用photoshop来丰富我的照片!这些照片是在尼康D7100上拍摄的 &时代; &时代; &时代; &时代; &时代; &时代; JAVASCRIPTJavascript 如何正确地将图像源分配给模态图像显示?,javascript,html,css,Javascript,Html,Css,我正在尝试显示前后的图片,单击其中任何一个都会将其显示为模式。我能够点击每个图像,打开模式窗口,并获得一个图像来填充模式显示的内容。作业似乎对第一幅图像有效,但为什么对其他图像无效 HTML Photoshop 你应该一直努力获得最好的投篮机会,而不必做太多的后置动作(如果有的话)。但有时你会发现照片中有瑕疵,比如由于相机传感器上的瑕疵而产生的幻影斑点。有时,你没有得到流行的颜色。你的照片曝光过度了。灯光很差。有太多的因素,无论是在你的控制之内还是之外,都会使你无法充分利用你的照片。在这种情况
var modal = document.getElementById('myModal');
function openModal(){
var img = document.querySelectorAll("[id^='photoshop']");
var modalImg = document.querySelectorAll("[class^='modal-content']");
for (var i = 0; i < img.length; i++){
for (var i = 0; i < modalImg.length; i++){
modalImg[i].src = img[i].src;
modal.style.display = "block";
}
}
}
var span = document.getElementsByClassName("close")[0];
span.onclick = function() {
modal.style.display = "none";
}
var modal=document.getElementById('myModal');
函数openModal(){
var img=document.querySelectorAll(“[id^='photoshop']”);
var modalImg=document.queryselectoral(“[class^='modal-content']”);
对于(变量i=0;i
所有图像都有相同的ID,所有div都有相同的ID。。。。不能对多个元素使用相同的ID。ID意味着每个元素都是唯一的。您遇到了问题,因为模态采用了ID的第一个元素的src。在显示解决方案之前,需要注意一些建议和事项:
- 对于每个图像,您不需要有一个模态div。您可以有一个用于所有图像的模式
- 不能对不同的元素使用相同的ID。ID对于所有元素都必须是唯一的
- 缩进非常重要,它可以使代码看起来更清晰、更容易理解
var modalDiv = document.getElementById("modalDiv");
function openModal(img){
var modalImage = document.getElementById("modalImage");
var modalCaption = document.getElementById("modalCaption");
modalDiv.style.display = "block";
modalImage.src = img.src;
modalCaption.innerText = img.alt;
}
var span = document.getElementById("modalClose");
span.onclick = function() {
modalDiv.style.display = "none";
}
Html代码现在通过从每个图像中删除所有modals和公共ID来清理。剩下的唯一ID是模式弹出窗口,我们使用它在脚本中添加图像细节。默认情况下,“模态”也是隐藏的:
<img onclick="openModal(this);" src="images/FrenchBefore.jpg" alt="Frenchie Before Photoshop"/>
<img onclick="openModal(this);" src="images/frenchAfter.jpg" alt="Frenchie After Photoshop"/>
<p>Look at the left hand photo of an adorable French Bulldog I passed...</p>
<img onclick="openModal(this);" src="images/fatherBefore.jpeg" alt="Father Before Photoshop"/>
<img onclick="openModal(this);" src="images/fatherAfter.jpeg" alt="Father After Photoshop"/>
<p>Here we have a father and son enjoying a beautiful day in ...</p>
<img onclick="openModal(this);" src="images/beachBefore.jpeg" alt="Beach Before Photoshop"/>
<img onclick="openModal(this);" src="images/beachAfter.jpeg" alt="Beach After Photoshop"/>
<p>This one I had a little more fun with. While there is a spot...</p>
<div id="modalDiv" class="modal" style="display:none;">
<span id="modalClose" class="close">×</span>
<img id="modalImage" class="modal-content">
<div id="modalCaption"></div>
</div>
<script src="js/modal.js" type="text/javascript"></script>
看我经过的一只可爱的法国斗牛犬的左手照片
在这里,我们有一对父子在……度过了美好的一天
这个我玩得更开心了。虽然有一个点
&时代;
希望这对您的个人网站有所帮助!:) 试着以问题的形式发布你的问题,并尽量保持简短(问题)。哇。非常感谢你!当然,我不希望得到那么多帮助!我想我最初设置了所有具有相同id的图像,这样就可以很容易地将样式应用于模态功能,但现在我发现这是违反直觉的,并且会弄乱我的代码。在我加入训练营之前我就开始了这项工作,所以现在我们正在研究JS,所以我决定加倍努力,这非常有帮助。非常感谢。很乐意帮忙:)祝你训练营好运!
<img onclick="openModal(this);" src="images/FrenchBefore.jpg" alt="Frenchie Before Photoshop"/>
<img onclick="openModal(this);" src="images/frenchAfter.jpg" alt="Frenchie After Photoshop"/>
<p>Look at the left hand photo of an adorable French Bulldog I passed...</p>
<img onclick="openModal(this);" src="images/fatherBefore.jpeg" alt="Father Before Photoshop"/>
<img onclick="openModal(this);" src="images/fatherAfter.jpeg" alt="Father After Photoshop"/>
<p>Here we have a father and son enjoying a beautiful day in ...</p>
<img onclick="openModal(this);" src="images/beachBefore.jpeg" alt="Beach Before Photoshop"/>
<img onclick="openModal(this);" src="images/beachAfter.jpeg" alt="Beach After Photoshop"/>
<p>This one I had a little more fun with. While there is a spot...</p>
<div id="modalDiv" class="modal" style="display:none;">
<span id="modalClose" class="close">×</span>
<img id="modalImage" class="modal-content">
<div id="modalCaption"></div>
</div>
<script src="js/modal.js" type="text/javascript"></script>