即时更改图像源内部模态
Change image source inner modal on the fly
我正在尝试更改图像 HTML 元素的源图像 <img src="/some/dynamic/path"></img>
。
我如何获取 this.id
非常复杂,超出了这个问题的范围,但足以知道它是通过 PHP 获得的并且在单击时在列表中项(此处未显示),标识符已设置并可以使用。 console.log
确保。
问题是,当我点击该元素时,模式出现在我面前,但我看不到图像。通过在浏览器上调试,我注意到 src
字段始终为空。
我想问题的原因可以在我发布的 Javascript 代码中找到。尤其是两条指令的执行有点不同步。
你怎么看?您需要更多详细信息吗?
The modal code:
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-body text-center">
<img id="modalImage" src="">
</div>
</div>
</div>
</div>
And the JS code:
$(".listShowCard").click(function() {
console.log("/images/cards/"+this.id+".png");
$("#modalImage").src="/images/cards/"+this.id+".png";
$("#myModal").modal('show');
});
$("#modalImage").attr('src', "/images/cards/" + this.id + ".png")
使用:
document.getElementById('modalImage').src=`/images/cards/${this.id}.png`;
当你使用带 ID 的元素时,尽量避免 jQuery,因为调用比纯 JS 调用慢得多。
我正在尝试更改图像 HTML 元素的源图像 <img src="/some/dynamic/path"></img>
。
我如何获取 this.id
非常复杂,超出了这个问题的范围,但足以知道它是通过 PHP 获得的并且在单击时在列表中项(此处未显示),标识符已设置并可以使用。 console.log
确保。
问题是,当我点击该元素时,模式出现在我面前,但我看不到图像。通过在浏览器上调试,我注意到 src
字段始终为空。
我想问题的原因可以在我发布的 Javascript 代码中找到。尤其是两条指令的执行有点不同步。
你怎么看?您需要更多详细信息吗?
The modal code:
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-body text-center">
<img id="modalImage" src="">
</div>
</div>
</div>
</div>
And the JS code:
$(".listShowCard").click(function() {
console.log("/images/cards/"+this.id+".png");
$("#modalImage").src="/images/cards/"+this.id+".png";
$("#myModal").modal('show');
});
$("#modalImage").attr('src', "/images/cards/" + this.id + ".png")
使用:
document.getElementById('modalImage').src=`/images/cards/${this.id}.png`;
当你使用带 ID 的元素时,尽量避免 jQuery,因为调用比纯 JS 调用慢得多。