* 隐藏加载动画 * 实现平滑的过渡效果从加载动画到内容 * Requirements: 8.5
()
| 1378 | * Requirements: 8.5 |
| 1379 | */ |
| 1380 | function hideLoading() { |
| 1381 | console.log('hideLoading 被调用'); |
| 1382 | console.log('Elements.loading:', Elements.loading); |
| 1383 | console.log('Elements.app:', Elements.app); |
| 1384 | |
| 1385 | if (Elements.loading) { |
| 1386 | // 先完成进度条动画 |
| 1387 | const progressBar = Elements.loading.querySelector('.loading-progress-bar'); |
| 1388 | if (progressBar) { |
| 1389 | progressBar.style.animation = 'none'; |
| 1390 | progressBar.style.width = '100%'; |
| 1391 | } |
| 1392 | |
| 1393 | // 短暂延迟后开始淡出,让用户看到进度完成 |
| 1394 | setTimeout(() => { |
| 1395 | // 添加淡出动画类 |
| 1396 | Elements.loading.classList.add('fade-out'); |
| 1397 | |
| 1398 | // 动画结束后完全隐藏 |
| 1399 | setTimeout(() => { |
| 1400 | Elements.loading.classList.add('hidden'); |
| 1401 | // 触发内容显示动画 |
| 1402 | if (Elements.app) { |
| 1403 | console.log('添加 content-ready 类'); |
| 1404 | Elements.app.classList.add('content-ready'); |
| 1405 | } |
| 1406 | }, 800); // 与CSS过渡时间匹配 |
| 1407 | }, 300); |
| 1408 | } else { |
| 1409 | // 如果没有 loading 元素,直接显示内容 |
| 1410 | console.log('没有 loading 元素,直接显示内容'); |
| 1411 | if (Elements.app) { |
| 1412 | Elements.app.classList.add('content-ready'); |
| 1413 | } |
| 1414 | } |
| 1415 | } |
| 1416 | |
| 1417 | /** |
| 1418 | * 显示加载动画 |