js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】

这里提供一个基于JavaScript实现的页面加载等待效果,其核心是利用了浏览器window对象的load事件和document对象的DOMContentLoaded事件。

  1. 首先,在HTML文件中加入CSS,用来定义loading提示效果的样式:
.loading {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 999;
}

.loading img {
    width: 100px;
}
  1. 接着,在HTML文件中加入loading提示效果的HTML结构:
<div class="loading">
    <img src="loading.gif" alt="loading">
</div>

其中,loading.gif是一个加载动画的图片。

  1. 然后,在JavaScript文件中编写loading提示效果的实现逻辑:
window.addEventListener(
    "load", // 用window对象的load事件
    function() {
        var loading = document.querySelector(".loading");
        loading.parentNode.removeChild(loading);
        // 加载完毕后,将loading提示效果的节点删除
    }
);

在这里,我们使用window对象的load事件,因为这表示当所有的页面、图片、样式、JavaScript等资源都加载完毕后就会触发这个事件。

  1. 最后,为了处理太慢的网络或其他原因导致页面不加载的情况,我们可以利用document对象的DOMContentLoaded事件来附加loading提示。比如:
document.addEventListener(
    "DOMContentLoaded", // 用document对象的DOMContentLoaded事件
    function() {
        var loading = document.querySelector(".loading");
        if (loading) {
            loading.parentNode.removeChild(loading);
            // 加载完毕后,将loading提示效果的节点删除
        }
    }
);

在这里,我们使用document对象的DOMContentLoaded事件,它表示当HTML文档结构创建完毕后就会触发这个事件。

示例说明:

  1. 示例一:如果我们仅仅使用window对象的load事件,并且加载一个特别慢的资源,比如一个非常大的图片,就会使得loading提示效果的显示时间过长。

  2. 示例二:如果我们仅仅使用document对象的DOMContentLoaded事件,并且同时加载的资源比较多,就会使得我们的loading提示效果提前消失而用户会认为页面未加载完成。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • 中土世界战争之影攻城时游戏无限加载怎么办 无限加载多种解决方法

    中土世界战争之影是一款非常受欢迎的游戏,但是有时在攻城时可能会出现无限加载的情况。这篇攻略将为玩家介绍多种解决方法。 问题分析 首先,我们需要分析问题。一般来说,游戏无限加载的原因有以下几种: 网络连接问题:网络不稳定或者网络速度太慢,导致游戏无法正常加载。 服务器问题:游戏服务器可能出现故障或维护,导致无法正常连接。 游戏本身问题:游戏可能存在一些程序错误…

    other 2023年6月25日
    00
  • javascript-webkitrequestfullscreen不是函数

    JavaScript WebKitRequestFullScreen不是函数攻略 在JavaScript中,我们可以使用requestFullScreen()方法来请求全屏显示。但是,在某些情况下,我们可能会遇到WebKitRequestFullScreen is not a function错误。在本攻略中,我们将介绍这个错误的原因,并提供一些解决方案和示…

    other 2023年5月9日
    00
  • win11错误代码0xA00F4288怎么修复? 修复相机应用程序错误的方法

    win11错误代码0xA00F4288怎么修复? 如果你在win11系统中使用相机应用程序时,遇到了0xA00F4288错误代码,那么应该如何修复呢?下面我将给出修复相机应用程序错误的方法,以及两个实例说明。 修复相机应用程序错误的方法 以下是修复win11相机应用程序错误的方法步骤: 首先,你需要打开“设备管理器”。 找到你的相机,右键单击该设备并选择“属…

    other 2023年6月25日
    00
  • Android入门教程之Fragment的具体使用详解

    Android入门教程之Fragment的具体使用详解 什么是Fragment? Fragment是Android系统中的一个重要组建,它可以理解为Activity的模块化实现,可以通过将UI分割成多个模块来提高代码复用性和灵活性,同时能够更好地适应不同屏幕的尺寸和方向。 Fragment有自己的生命周期,并且可以被嵌套在其他Fragment或Activit…

    other 2023年6月27日
    00
  • tomcat下jndi配置

    当您需要在Tomcat中配置JNDI以访问数据库时,可以按照以下步骤进行操作: 步骤说明 JNDI(Java Naming Directory Interface)是Java平台一种API,用于访问命名和目录服务。在Tomcat中,您可以使用JNDI配置数据源,以便在应用程序中访问数据库。以下是使用Tomcat配置JNDI的详细步骤: 打开Tomcat的co…

    other 2023年5月9日
    00
  • 电脑通过命令更新IP地址和DNS服务器地址的方法

    电脑通过命令更新IP地址和DNS服务器地址的方法 要通过命令行更新电脑的IP地址和DNS服务器地址,可以按照以下步骤进行操作: 打开命令提示符(Command Prompt)或者终端窗口。 输入以下命令来查看当前的网络连接信息: shell ipconfig /all 这个命令会列出当前网络连接的详细信息,包括IP地址、子网掩码、默认网关和DNS服务器地址等…

    other 2023年7月30日
    00
  • python利用后缀表达式实现计算器功能

    Python利用后缀表达式实现计算器功能攻略 后缀表达式(也称为逆波兰表达式)是一种将运算符放在操作数之后的表示方法。利用后缀表达式可以实现计算器功能,以下是详细的攻略。 步骤一:将中缀表达式转换为后缀表达式 创建一个空栈和一个空列表,用于存储运算符和后缀表达式。 从左到右遍历中缀表达式的每个字符。 如果遇到操作数(数字),将其添加到后缀表达式列表中。 如果…

    other 2023年8月5日
    00
  • python基础之列表解析

    Python基础之列表解析 在Python中,列表解析(List Comprehension)是一种快捷简洁的方式去创建、修改和操作列表。它能够将一个复杂的for循环转化为简洁的一行代码,使得代码的可读性更高,逻辑性更强,同时减少了代码量。 基本语法 列表解析的基本语法如下: [expression for item in iterable if condi…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部