模态窗口并传递参数实现代码
时间: 2024-03-16 20:44:25 浏览: 16
以下是一个简单的模态窗口并传递参数的实现代码,以构造函数传递参数为例:
HTML代码:
```html
<button id="open-modal">打开模态窗口</button>
<!-- 模态窗口 -->
<div id="modal" class="modal">
<div class="modal-content">
<span class="close">×</span>
<p>模态窗口内容</p>
</div>
</div>
```
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.4);
}
/* 模态窗口内容样式 */
.modal-content {
background-color: #fefefe;
margin: 15% auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
}
/* 关闭按钮样式 */
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
```
JavaScript代码:
```javascript
// 获取模态窗口元素和打开按钮元素
const modal = document.getElementById('modal');
const modalBtn = document.getElementById('open-modal');
// 定义模态窗口类
class Modal {
constructor(param) {
this.param = param;
// 获取模态窗口内容元素和关闭按钮元素
this.modalContent = document.querySelector('.modal-content');
this.closeBtn = document.querySelector('.close');
// 设置模态窗口内容
this.modalContent.innerHTML = `<p>${this.param.message}</p>`;
// 绑定关闭按钮事件
this.closeBtn.addEventListener('click', () => {
this.close();
});
// 显示模态窗口
modal.style.display = 'block';
}
// 关闭模态窗口
close() {
modal.style.display = 'none';
}
}
// 绑定打开按钮事件
modalBtn.addEventListener('click', () => {
// 创建模态窗口实例并传递参数
const modalInstance = new Modal({message: '这是一个模态窗口'});
});
```
在上面的示例中,我们通过 JavaScript 代码来实现模态窗口,并在创建模态窗口实例时将参数 `{message: '这是一个模态窗口'}` 传递给它。当用户点击打开按钮时,模态窗口会显示出来,并显示传递的参数。
需要注意的是,我们在模态窗口类的构造函数中获取了模态窗口内容元素和关闭按钮元素,并在模态窗口关闭时移除了相关事件监听器。此外,我们还可以使用其他方式来传递参数和实现模态窗口,具体实现方式可以根据实际需求而定。