js 开发一个 居中弹窗,弹窗中内容来自服务端返回的数据
时间: 2024-05-15 08:18:02 浏览: 52
好的,关于你提到的问题,我可以为你提供一些基本的思路。你可以使用CSS来实现弹窗居中显示,HTML中可以使用一个div作为弹窗的容器,然后使用JavaScript来从服务端获取数据并将数据渲染到弹窗中。具体实现过程如下:
1. 在HTML中创建一个div作为弹窗的容器
```html
<div id="modal" class="modal">
<div class="modal-content">
<span class="close">×</span>
<div class="modal-body"></div>
</div>
</div>
```
2. 使用CSS将弹窗居中
```css
.modal {
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.5);
}
.modal-content {
margin: auto;
padding: 20px;
width: 80%;
max-width: 500px;
background-color: white;
}
.modal-body {
margin: 10px 0;
}
.close {
float: right;
font-size: 28px;
font-weight: bold;
cursor: pointer;
}
.close:hover,
.close:focus {
color: #aaa;
text-decoration: none;
cursor: pointer;
}
```
3. 使用JavaScript来获取服务端数据并渲染到弹窗中
```javascript
// 获取数据
fetch('/get-data')
.then(response => response.json())
.then(data => {
// 将数据渲染到弹窗中
const modalBody = document.querySelector('.modal-body');
modalBody.innerHTML = data;
// 显示弹窗
const modal = document.getElementById('modal');
modal.style.display = "block";
});
// 关闭弹窗
const closeBtn = document.querySelector('.close');
closeBtn.addEventListener('click', () => {
const modal = document.getElementById('modal');
modal.style.display = "none";
});
```
这样,当用户点击某个按钮或触发某个事件时,就可以弹出居中的弹窗,并将服务端返回的数据渲染到弹窗中。
阅读全文