为弹出式模态框添加功能 - 改变div结构
示例代码:
旧的HTML结构:
Modal Header
新的HTML结构:
CSS样式:
.modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.5);
}
.modal-content {
position: relative;
margin: auto;
width: 80%;
max-width: 800px;
background-color: #fff;
border-radius: 5px;
padding: 20px;
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
}
.modal-header h2 {
margin: 0;
}
.modal-body {
margin-bottom: 20px;
}
.modal-content p {
margin: 0;
}
.modal-footer {
display: flex;
justify-content: flex-end;
}
.close-button {
background-color: transparent;
border: none;
font-size: 20px;
cursor: pointer;
padding: 0;
}
.cancel-button,
.save-button {
background-color: #007bff;
color: #fff;
border: none;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
margin-left: 10px;
}
.cancel-button:hover,
.save-button:hover {
background-color: #0056b3;
}
JavaScript代码:
const modal = document.querySelector('.modal');
const closeButton = document.querySelector('.close-button');
const cancelButton = document.querySelector('.cancel-button');
const saveButton = document.querySelector('.save-button');
function closeModal() {
modal.classList.remove('show');
}
function cancelModal() {
closeModal();
}
function saveModal() {
// Save modal data
closeModal();
}
function openModal() {
modal.classList.add('show');
}
closeButton.addEventListener('click', closeModal);
cancelButton.addEventListener('click', cancelModal);
saveButton.addEventListener('click', saveModal);
// Open the modal when the page loads (for testing purposes)
window.addEventListener('load', openModal);