javascript - 在javascript Modal Pop-up中制作span id替换li类
问题描述
我有一个投资组合网页,然后单击一个项目,会弹出一个模式,里面有一个轮播画廊。
在我的.html
页面中,项目是这样分类的
<li class="Project" data-modal="myModal_1">
在模态弹出窗口时,javascript 引用回“项目”类。我知道希望更改此设置,以便在单击 ID“PopUp”时不会激活模式弹出窗口。当我尝试在 Javascript 中更改它时,它不再起作用。而且我现在不知道如何解决它。我想说,我曾尝试更改 id、span 和 classes,但都没有成功。
window.onload = function () {
span = document.querySelectorAll("#PopUp");
document.querySelectorAll("#PopUp").forEach(LIelm=>{
LIelm.addEventListener('click', showHideModal)
})
};
function showHideModal(e) {
if (!e.target.parentNode.matches('#PopUp , .modal-content' )) return
e.preventDefault();
let currentParent = e.target.parentNode;
if (currentParent.matches('#PopUp') ){
document.getElementById( currentParent.dataset.modal ).style.display = "block";
}
else {
currentParent.parentNode.style.display = "";
}
}
<li class="Project" data-modal="myModal_1">
<span id="myBtn_1">
Irma Type
</span>
<span id="year">
2019
</span>
<div class="Describtion">
<p style="display:none;">
Typedesign
<br>
<span id="PopUp">
Images
</id>
</p>
</div>
<div id="myModal_1" class="modal">
<div class="modal-content">
<div id="demo" class="carousel slide" data-ride="carousel">
<!-- The slideshow -->
<div class="carousel-inner">
<div class="carousel-item active">
<img src="Images/Lirma/type.jpg" alt="img" width="100%">
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#demo" data-slide="prev">
<span class="carousel-control-prev-icon"></span>
</a>
<a class="carousel-control-next" href="#demo" data-slide="next">
<span class="carousel-control-next-icon"></span>
</a>
</div>
<p>Some text in the Modal...</p>
</div>
</div>
</div>
</li>
解决方案
您的 javascript 可能正在针对尚未创建的 dom 元素运行。
我会为此建议jquery。1.在你的html页面的header中加载jquery js。2.在您的html页面底部输入以下内容。
<script>
$( document ).ready(function) {
//stick you dom manipulation here.
})
</script>
Jquery 健壮且与浏览器无关(旧版本的浏览器除外)。如果不能用 jquery 完成,它可能根本无法完成。
推荐阅读
- ruby-on-rails - 如何使用主动存储变体创建不同的图像格式
- java - 如何处理 JSqlParser 上的 '[ ] -' 字符
- sqlite - 如何在 UWP 应用程序中访问我的应用程序文件夹之外的文件(如 SQLite 数据库)?
- javascript - 如何在react-vis条形图中的每个条形上方给出值?
- java - 创建具有不同请求类型的请求数据类
- python - 我们可以在 python 字典中发送 django `render()` 的 HttpResponse 吗?
- javascript - 将 HashRouter 更改为 BrowserRouter - 导航栏不再有效,但链接有效
- python - 两位及以上的数字输出在python的偶数/奇数过滤器中不起作用
- firebase - Firebase 托管是否提供了一种查看访问该网站的用户数(访问次数)的方法?
- php - 为什么 lumen 无法识别列?