style: 添加设置模态框淡出动画,优化关闭和保存设置的用户体验

This commit is contained in:
MKStoler1024 2025-02-27 05:54:12 +00:00
parent a2ba88ef29
commit 689f06977a
3 changed files with 23 additions and 4 deletions

View File

@ -7,8 +7,8 @@ document.addEventListener("DOMContentLoaded", () => {
const remainingTimeElem = document.getElementById("remaining-time"); const remainingTimeElem = document.getElementById("remaining-time");
const statusElem = document.getElementById("status"); const statusElem = document.getElementById("status");
const examTableBodyElem = document.getElementById("exam-table-body"); const examTableBodyElem = document.getElementById("exam-table-body");
const roomElem = document.getElementById("room"); // 添加这一行 const roomElem = document.getElementById("room");
let offsetTime = getCookie("offsetTime") || 0; // 添加这一行 let offsetTime = getCookie("offsetTime") || 0;
function fetchData() { function fetchData() {
return fetch('exam_config.json', { cache: "no-store" }) return fetch('exam_config.json', { cache: "no-store" })

View File

@ -23,7 +23,11 @@ document.addEventListener("DOMContentLoaded", () => {
}); });
closeSettingsBtn.addEventListener("click", () => { closeSettingsBtn.addEventListener("click", () => {
settingsModal.classList.add("fade-out");
setTimeout(() => {
settingsModal.style.display = "none"; settingsModal.style.display = "none";
settingsModal.classList.remove("fade-out");
}, 300);
}); });
saveSettingsBtn.addEventListener("click", () => { saveSettingsBtn.addEventListener("click", () => {
@ -35,7 +39,13 @@ document.addEventListener("DOMContentLoaded", () => {
setCookie("zoomLevel", zoomLevel, 365); setCookie("zoomLevel", zoomLevel, 365);
roomElem.textContent = room; roomElem.textContent = room;
document.body.style.zoom = zoomLevel; document.body.style.zoom = zoomLevel;
settingsModal.classList.add("fade-out");
setTimeout(() => {
settingsModal.style.display = "none"; settingsModal.style.display = "none";
settingsModal.classList.remove("fade-out");
}, 300);
// 立即生效时间偏移
location.reload();
}); });
document.body.style.zoom = zoomLevel; document.body.style.zoom = zoomLevel;

View File

@ -207,6 +207,15 @@ td:last-child {
to { opacity: 1; transform: translateY(0); } to { opacity: 1; transform: translateY(0); }
} }
@keyframes fadeOut {
from { opacity: 1; transform: translateY(0); }
to { opacity: 0; transform: translateY(-20px); }
}
.fade-out {
animation: fadeOut 0.3s ease;
}
#settings-modal-content h3 { #settings-modal-content h3 {
margin: 0 0 20px; margin: 0 0 20px;
color: #e0e0e0; color: #e0e0e0;