Layui如何实现页面加载时的全屏遮罩效果

月夜之吻

月夜之吻

2026-08-04

460人浏览

原创

必须在HTML的开头静态插入全屏loading遮罩,用top/left/right/bottom四边撑开并设z-index≥999999;移除时机须绑定layui.config({done:...})回调,确保Layui基础模块就绪后立即执行。

页面刚打开时就显示全屏 loading,必须在 HTML 顶部插入 DOM

layui.uselayer.load() 都来不及——它们执行时页面早已渲染完毕,用户会看到白屏闪一下再转圈。真正有效的做法,是把遮罩写死在 html 最开头,纯静态、同步、不依赖任何 js 加载。

直接在 开头插入:

<div id="loading-mask" style="position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:999999;display:flex;align-items:center;justify-content:center;">
  <i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate"></i>
</div>
  • 必须用 top:0;left:0;right:0;bottom:0 四边撑开,比 width:100%;height:100% 更可靠,能覆盖滚动区域
  • z-index 至少设为 999999,确保压过所有 layui 组件(table 默认 z-index 是 100,layer 默认约 1989)
  • 不要等 layui.css 加载完再插——它可能还没解析,图标会 fallback 成方块;确保 layui.css 已提前引入在

什么时候移除遮罩?用 layui.config({ done }),不是 $(document).ready

$(document).ready 太早,Layui 还没初始化;window.onload 又太晚,遮罩可能已卡住几秒。唯一安全的时机是 layui.configdone 回调——它在 Layui 基础模块(jQuery、layer 等)就绪后立即触发,且早于所有 layui.use

在引入 layui.js 后立刻写:

layui手机车牌号码键盘代码
layui手机车牌号码键盘代码

layui手机车牌号码键盘代码是一款基于jQuery跟layui制作的手机端车牌号码输入弹出键盘选择,支持新能源汽车车牌输入格式代码。

下载
layui.config({
  done: function() {
    var mask = document.getElementById('loading-mask');
    if (mask) mask.remove();
  }
});
  • 别在 done 里再调 layui.use(['layer'], ...) 去删遮罩——绕远路,还可能因异步导致时序错乱
  • 如果用了 layui.extend 或自定义模块,done 仍会等全部注册完成才执行,放心用
  • 确保这段代码紧跟在 layui.js<script></script> 标签后面,不要包在其他函数或延迟逻辑里

为什么不用 layer.load() 做首屏遮罩

layer.load(2) 看似方便,但它本质是动态生成的浮层:依赖 layer 模块加载完成、z-index 不够高、默认挂载位置不可控,移动端常被截断或错位。用户想“一打开就转圈”,结果只看到右上角一个小图标,或者遮罩一闪就消失。

  • layer.load() 的 DOM 插入时机不可控,而首屏遮罩必须是静态、同步、高 z-index 的
  • 它的遮罩层(shade)默认透明度 0.3、颜色 #000,无法铺满整个 viewport,尤其在 iOS Safari 中易出问题
  • 若项目启用了 iframe 或局部滚动容器,layer.load() 更容易错位,且无法和页面生命周期对齐

移动端滚动时遮罩要拦截操作,别加 pointer-events: none

有人照搬“loading 遮罩要透传点击”的经验,给遮罩加 pointer-events: none,这是错的——首屏遮罩的目的就是阻断用户交互,防止误点空白页上的按钮或链接。

  • 遮罩默认 pointer-events: auto,正好满足阻断需求,无需额外设置
  • 真正要注意的是:遮罩父容器(比如 )不能有 overflow: hiddenposition: relative,否则在某些安卓 WebView 下会导致遮罩偏移
  • 如果页面本身有 fixed 定位的导航栏或 footer,遮罩需确保 z-index 高于它们,否则会被盖住
遮罩 DOM 必须在 layui.js 执行前就存在,且移除逻辑必须绑定到 layui.config.done——这两个时间点稍有偏差,就会出现闪白屏或遮罩残留。细节看似简单,但顺序和时机才是关键。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

layui

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1085

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

2189

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

2082

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

2254

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

333

5

墨刀AI提示词教学
墨刀AI提示词教学

本合集由PHP中文网精心整理,为您提供全面的墨刀AI提示词教学。内容涵盖高质量原型撰写公式与实操窍门,助您轻松掌握AI设计工具。无论是零基础入门还是进阶技巧,都能让您快速上手,大幅提升产品设计与协作效率。

2026.08.04

3

21

墨刀AI完整入门
墨刀AI完整入门

PHP中文网为您倾力打造墨刀AI保姆级入门指南完整版!本合集从零基础讲起,涵盖AI生成原型、提示词优化、图片转原型及多轮对话等核心功能。无论您是新手还是进阶用户,都能轻松掌握产品设计全流程。快来PHP中文网,一键解锁高效设计技巧,让想法即刻成型!

2026.08.04

1

20

墨刀AI进阶技巧
墨刀AI进阶技巧

本合集由PHP中文网精心整理,为您提供墨刀AI核心进阶策略指南。内容涵盖高效提示词写作、原型智能生成与微调、结构化导图制作及行业分析报告输出等实战技巧。助您轻松掌握AI设计工具,大幅提升产品设计与团队协作效率。

2026.08.04

3

14

火山引擎实名认证失败怎么办
火山引擎实名认证失败怎么办

火山引擎实名认证失败可能与证件信息填写错误、姓名或企业信息不一致、证件照片不清晰、营业执照状态异常、手机号验证失败或审核资料不完整有关。本专题整理个人认证、企业认证、资料上传、审核退回、重新提交和认证不通过的常见处理方法。

2026.08.04

3

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ThinkPHP配置开发与CMS后台实战
ThinkPHP配置开发与CMS后台实战

共87课时 | 11.4万人学习

第二十三期_综合实战
第二十三期_综合实战

共89课时 | 9.7万人学习

Layui 快速入门精讲
Layui 快速入门精讲

共5课时 | 1.5万人学习