javascript - HTML/CSS/JavaScript - 模式不弹出/出现在其他东西后面?

标签 javascript jquery html css

所以我一直在尝试在 JSFiddle 中制作我自己的模式。在我得到一些东西之后,我决定把它放在我的网站上,但遗憾的是它出现在其他东西后面。是什么原因造成的?如果需要,我可以将索引页 HTML 代码放在这里。这是弹出窗口:

https://jsfiddle.net/o6xf5a6d/18/

模态:

HTML:

<h2>System</h2>
<button onclick="sitaSeen('https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpovbSsLQJf3qr3czxb49KzgL-KmsjwPKvBmm5D19V5i_rEprP5gVO8v11lZj-gIYbDclRqMA7Zq1S7lOm-0Za6753KmHoxvnQh5y7ZyhWxiRwecKUx0iL1oy6z/60fx60f','M9 Bayonet | Doppler','Battle Scarred',70)">Click</button>
<button id="myBtn">Open Modal</button>
<div id="myModal" class="modal">
  <div class="modal-content">
    <div class="modal-header">
      <span class="close">×</span>
      <h2>Logo</h2>
    </div>
    <div class="modal-body">
      <table class="centered">
        <thead>
          <tr>
            <th data-field="pic"></th>
            <th data-field="id">Item</th>
            <th data-field="name">Conditon</th>
            <th data-field="price">Price</th>
            <th data-field="delete"></th>
          </tr>
        </thead>
          <tbody class="papa">
          </tbody></table>
      <span id="total">Total: $0</span>
      <button class="btn black right">seen</button>
    </div>
  </div>
</div>

JavaScript:

var modal = document.getElementById('myModal');
var btn = document.getElementById("myBtn");
var span = document.getElementsByClassName("close")[0];
btn.onclick = function() {
  modal.style.display = "block";
}
span.onclick = function() {
  modal.style.display = "none";
}
var total = 0;

function sitaSeen(img, name, condition, price) {
  $('tbody').append("<tr><td><img src=" + img + "></td><td>" + name + "</td><td>" + condition + "</td><td>$" + price + "</td><td><span>X</span></td></tr>");
  total += price;
  $('#total').empty();
  $('#total').append("Total: $" + total);
}
$('.papa').on('click', 'tr span', function(){
        $(this).closest('tr').remove();
});

CSS + Materialiscss

thead, tbody { display: block; }
.papa{
    overflow-y: scroll;
    max-height: 195px;
}
table {
  box-sizing: border-box;
  border-bottom: 3px solid white;
}
td,
th {
  padding-left: 16px;
  min-width: 140px;
  border: 3px solid white;
  font: 14px/40px;
  text-align: left;
}
td {
  color: white;
}
tr {
  display: block;
}
th {
  color: white;
}

table tbody tr:nth-child(even) {
    background-color: #201f1f;
    box-shadow: inset 0px 0px 25px 2px black;
    border-bottom: 1px solid #545254;
}
table tbody tr:nth-child(odd) {
    background-color: #333333;
    box-shadow: inset 0px 0px 25px 2px black;
    border-bottom: 1px solid #545254;
}
#myModal {
  background-color:#545254;
  color:white;
}

最佳答案

您可以使用 z-index CSS 属性:

#myModal {
  background-color:#545254;
  color:white;
  position: relative;
  z-index: 100;
}

为了使 z-index 起作用,您需要如图所示设置位置属性。

关于javascript - HTML/CSS/JavaScript - 模式不弹出/出现在其他东西后面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37902785/

相关文章:

javascript - Promises/A+ 实现有何不同?

javascript - 为什么即使 webpack 没有抛出任何错误,React 组件也不会渲染?

javascript - 如何对 AJAX 调用后创建的格式化 HTML 调用 JQuery 操作?

javascript - 使用 jqueryfiletree 的问题

javascript - 如何在 HTML 中调用 JS 函数

html - 背景顶部重复

javascript让我的文本框显示一个变量

javascript - Dygraph 无法正常工作

html - Bootstrap 网格,填充问题导致背景溢出

html - 以 flexbox 或 float 包裹其余部分之前的最后一个 div 为目标