JS实现页面提交时的加载遮罩效果
4星 · 超过85%的资源 需积分: 9 160 浏览量
更新于2024-09-18
收藏 14KB DOCX 举报
"JavaScript实现页面提交时的div遮罩加载效果"
在网页开发中,当用户进行提交操作,如表单提交或按钮点击时,为了防止用户重复提交并提供一个友好的用户体验,通常会显示一个加载遮罩层。这个遮罩层会覆盖整个页面,显示出一个正在处理的提示,直到后台处理完成或者返回响应。JavaScript是实现这种功能的常用工具,特别是结合jQuery库,可以轻松地创建和移除这个遮罩层。下面我们将详细介绍如何使用JavaScript和jQuery实现一个简单的div遮罩加载效果。
1. **创建遮罩层和加载提示**
在描述的代码中,`$.showDivShade`函数用于添加遮罩层。首先,它在body末尾动态插入两个div元素:一个id为"popupCover"的背景遮罩,另一个id为"popupLayer"的加载提示。加载提示包含一个等待动画图片。接着,使用CSS设置这两个div的位置、大小、透明度等样式。
2. **定位与调整**
对于"popupLayer",其位置通过`$(document).scrollTop()`和`$(window).height()`来适应页面滚动,并且`margin-top`设置使得加载提示居中。如果加载提示的高度大于窗口高度,将隐藏"popupLayer",以避免超出视口范围。对于"popupCover",其宽度和高度设置为body的宽度和高度,以完全覆盖页面,同时设置为半透明灰色。
3. **渐显效果**
使用jQuery的`fadeTo`方法,渐显遮罩层和加载提示,使得加载过程更平滑。`$("#popupCover").fadeTo("normal",0.8)`让遮罩层逐渐变为80%的不透明度,`$("#popupLayer").fadeTo("normal",1)`则让加载提示完全显现。
4. **取消遮罩层**
当后台处理完成,需要移除遮罩层时,调用`$.hideDivShade`函数。这个函数通过jQuery选择器找到"popupLayer"和"popupCover",并使用`fadeOut`方法使其渐隐,最后从DOM中移除这两个元素。
5. **防止重复提交**
在实际应用中,除了显示遮罩层,还需要阻止表单的重复提交。这可以通过禁用提交按钮或在提交请求后立即设置一个标志来实现。例如,可以添加一个全局变量`isSubmitting`,在提交时设为true,请求完成后设为false,这样可以检查当前是否正在提交,避免重复操作。
JavaScript和jQuery提供了方便的方法来实现页面提交时的遮罩加载效果,既增强了用户体验,也有效地防止了重复提交。通过适当的优化和自定义,可以适应各种不同的网页设计和交互需求。
2011-04-13 上传
2023-09-01 上传
2023-06-11 上传
2023-06-03 上传
2023-06-11 上传
2023-05-18 上传
2023-07-08 上传
2023-05-17 上传
kuge3390
- 粉丝: 5
- 资源: 11
最新资源
- 深入理解23种设计模式
- 制作与调试:声控开关电路详解
- 腾讯2008年软件开发笔试题解析
- WebService开发指南:从入门到精通
- 栈数据结构实现的密码设置算法
- 提升逻辑与英语能力:揭秘IBM笔试核心词汇及题型
- SOPC技术探索:理论与实践
- 计算图中节点介数中心性的函数
- 电子元器件详解:电阻、电容、电感与传感器
- MIT经典:统计自然语言处理基础
- CMD命令大全详解与实用指南
- 数据结构复习重点:逻辑结构与存储结构
- ACM算法必读书籍推荐:权威指南与实战解析
- Ubuntu命令行与终端:从Shell到rxvt-unicode
- 深入理解VC_MFC编程:窗口、类、消息处理与绘图
- AT89S52单片机实现的温湿度智能检测与控制系统