You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制预加载网站资源或添加加载屏 解决背景图需滚动才显示问题

加载屏实现及背景图加载问题修复方案

1. 新增加载屏HTML结构

将以下代码放在<body>标签的最开头位置:

<div id="loading-screen">
  <div class="loading-spinner"></div>
</div>

2. 添加加载屏样式

把以下CSS加入你的全局样式文件中:

/* 加载屏全局样式,默认全屏显示 */
#loading-screen {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background-color: #0f172a; /* 可替换为你网站的主背景色,保持风格统一 */
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* 简单旋转加载动画,可替换为自定义logo/动画 */
.loading-spinner {
  width: 50px;
  height: 50px;
  border: 3px solid rgba(255,255,255,0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* 加载完成后添加该类,平滑隐藏加载屏 */
#loading-screen.hidden {
  opacity: 0;
  visibility: hidden;
}

/* 加载完成前隐藏主内容,避免出现半加载的错乱界面 */
body:not(.loaded) .main-content { /* 把.main-content替换为你网站主内容容器的实际选择器 */
  display: none;
}

3. 添加JS逻辑

把以下JS代码加入页面的<script>标签中,注意要放在DOM加载完成前执行:

// 预加载核心背景图,解决需要滚动才触发加载的问题
const preloadBackgroundImages = () => {
  // 把你网站所有用到的背景图完整地址填入下方数组
  const backgroundImageList = [
    // 示例:'https://donajsky.5v.pl/xxx/bg1.webp'
  ];
  backgroundImageList.forEach(imgUrl => {
    const tempImg = new Image();
    tempImg.src = imgUrl;
  });
};

// 监听页面所有资源(图片、样式、脚本等)加载完成后隐藏加载屏
window.addEventListener('load', () => {
  const loadingScreen = document.getElementById('loading-screen');
  // 预留200ms缓冲时间,避免加载过快出现闪屏,可根据需求调整
  setTimeout(() => {
    loadingScreen.classList.add('hidden');
    document.body.classList.add('loaded');
    // 动画结束后移除加载屏DOM,释放性能
    setTimeout(() => loadingScreen.remove(), 500);
  }, 200);
});

// 页面初始化阶段直接执行预加载
preloadBackgroundImages();

额外优化建议

  • 提前压缩所有背景图体积,优先使用webp/avif等高效图片格式,可大幅减少加载耗时
  • 如果背景图体积过大,可先加载低分辨率模糊版本作为占位,高清图加载完成后再替换,进一步提升体验

内容的提问来源于stack exchange,提问作者Sebcz4K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:54:04