语义 UI 模态显示不正确
Semantic UI modal not showing properly
我一直在做一个项目,它需要一个语义 UI 模态(弹出)来显示我是否单击 "View Details" 按钮,但每次弹出模态时,它是位置很奇怪,我不能用它做任何事情(例如不能关闭它)
这是我的 .ejs 文件及其脚本部分
<% include header.ejs %>
<% include nav.ejs %>
<div class="page-hero" style="background-image: url('004.jpg'); width: 100%;">
<h1 id="eachTitle">MY PROFILE</h1>
</div>
<div class="ui container">
<form method="POST">
<input type="text" name="search" placeholder="Search..." required class="searchBook">
<input type="submit" value="Search">
</form>
<% for(var i = 0; i < results.length; i++){ %>
<div class="ui grid">
<div class="column four wide">
<div class="ui card">
<div class="image">
<img src = "<%= results[i].thumbnail %>"/>
</div>
<div class="content">
<div class="header">
<h1 class="ui small header title"><%= results[i].title %></h1>
</div>
<div class="meta">
<p>Author: <%= results[i].authors %></p>
<p>Published on: <%= results[i].publishedDate %></p>
<p>Pages: <%= results[i].pageCount %></p>
</div>
</div>
<div class="content extra">
<button class="ui button fluid" id="detail">View Detail</button>
<button class="ui button fluid" type="button" name="button">Add</button>
</div>
</div>
</div>
</div>
<div id="modaldiv" class="ui modal">
<i class="close icon"></i>
<div class="header">
Book info
</div>
<div class="content">
<div class="discription">
<div class="ui header">Book Description</div>
<p><%= results[i].description%></p>
</div>
</div>
<div class="actions">
<div class="ui button">Delete</div>
</div>
</div>
<% } %>
</div>
<% include footer.ejs%>
<script type="text/javascript">
$(document).ready(function(){
$(document).on('click', '#detail', function(){
$('.ui.modal').modal('show');
});
})
</script>
一切都已定义,控制台没有显示任何错误
(此外,如果我呈现多本书并尝试单击查看详细信息按钮,页面就会变黑,但我认为这是一个循环错误)
有谁知道它为什么会发生以及我该如何解决?
我认为问题出在这个循环中:
for(var i = 0; i < results.length; i++).
您使用相同的 ID 和 Class 名称初始化了多个模态框,所以当您尝试打开它时,我认为他想打开所有模态框,但这并不好。
$('.ui.modal').modal('show');
尝试查看您的控制台以验证它。
否则,为您创建的每个模式创建不同的 class 名称或 ID 名称,我认为它会被修复。
和平
我一直在做一个项目,它需要一个语义 UI 模态(弹出)来显示我是否单击 "View Details" 按钮,但每次弹出模态时,它是位置很奇怪,我不能用它做任何事情(例如不能关闭它)
这是我的 .ejs 文件及其脚本部分
<% include header.ejs %>
<% include nav.ejs %>
<div class="page-hero" style="background-image: url('004.jpg'); width: 100%;">
<h1 id="eachTitle">MY PROFILE</h1>
</div>
<div class="ui container">
<form method="POST">
<input type="text" name="search" placeholder="Search..." required class="searchBook">
<input type="submit" value="Search">
</form>
<% for(var i = 0; i < results.length; i++){ %>
<div class="ui grid">
<div class="column four wide">
<div class="ui card">
<div class="image">
<img src = "<%= results[i].thumbnail %>"/>
</div>
<div class="content">
<div class="header">
<h1 class="ui small header title"><%= results[i].title %></h1>
</div>
<div class="meta">
<p>Author: <%= results[i].authors %></p>
<p>Published on: <%= results[i].publishedDate %></p>
<p>Pages: <%= results[i].pageCount %></p>
</div>
</div>
<div class="content extra">
<button class="ui button fluid" id="detail">View Detail</button>
<button class="ui button fluid" type="button" name="button">Add</button>
</div>
</div>
</div>
</div>
<div id="modaldiv" class="ui modal">
<i class="close icon"></i>
<div class="header">
Book info
</div>
<div class="content">
<div class="discription">
<div class="ui header">Book Description</div>
<p><%= results[i].description%></p>
</div>
</div>
<div class="actions">
<div class="ui button">Delete</div>
</div>
</div>
<% } %>
</div>
<% include footer.ejs%>
<script type="text/javascript">
$(document).ready(function(){
$(document).on('click', '#detail', function(){
$('.ui.modal').modal('show');
});
})
</script>
一切都已定义,控制台没有显示任何错误
(此外,如果我呈现多本书并尝试单击查看详细信息按钮,页面就会变黑,但我认为这是一个循环错误) 有谁知道它为什么会发生以及我该如何解决?
我认为问题出在这个循环中:
for(var i = 0; i < results.length; i++).
您使用相同的 ID 和 Class 名称初始化了多个模态框,所以当您尝试打开它时,我认为他想打开所有模态框,但这并不好。
$('.ui.modal').modal('show');
尝试查看您的控制台以验证它。 否则,为您创建的每个模式创建不同的 class 名称或 ID 名称,我认为它会被修复。
和平