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日

相关文章

  • maven配置淘宝镜像

    Maven配置淘宝镜像 Maven是一个Java项目管理工具,它可以自动下载项目依赖的库文件。但是,由于Maven默认从中央仓库下载库文件,而中央仓库在国外,下载速度较慢。为了加速Maven的下载速,可以配置淘宝镜像。本文将介绍如何配置Maven淘宝镜像,并提供两个示例说明。 配置方法 在Maven的配置文件settings.xml中,可以添加淘宝镜像的配置…

    other 2023年5月7日
    00
  • hibernate5新特性介绍

    Hibernate5新特性介绍 Hibernate是一个流行的Java ORM框架,用于将Java对象映射到关系数据库中。Hibernate5是Hibernate框架的最新版本,引入了许多新特和改进。本文将介绍Hibernate的新特,包括JPA 2.1支持、Java 8日期时间API支持、改进的查询API等。 1. JPA2.1支持 Hibernate5支…

    other 2023年5月8日
    00
  • 怎么查看隐藏文件

    查看隐藏文件需要在操作系统中设置,下面是Windows和macOS两种操作系统的查看隐藏文件的具体方法: Windows 在Windows系统中,可以通过下面的步骤来查看隐藏文件: 打开”文件夹选项”对话框。按下Win + E打开文件资源管理器,然后在菜单栏中点击”查看”,在下拉菜单中选择”选项”。 在”文件夹选项”对话框中选择”查看”标签页,向下滚动找到”…

    其他 2023年4月16日
    00
  • camunda工作流引擎简单入门

    Camunda工作流引擎简单入门 Camunda是一个开源的工作流引擎,能够帮助用户轻松地设计、自动化和优化业务流程。在本文中,我们将介绍一些基本的概念和步骤,以帮助您快速入门Camunda工作流引擎。 安装和启动Camunda 首先,你需要下载和安装Camunda。可以通过官方网站https://camunda.com/download/下载和安装。安装完…

    其他 2023年3月28日
    00
  • 电脑数字键打不出数字怎么版 电脑小键盘数字键不能用的解决方法

    电脑数字键打不出数字怎么办 电脑小键盘数字键不能用的解决方法 电脑键盘数字键无法使用是一个常见的问题,但通常可以通过以下方法来解决: 解决方法一:检查小键盘是否开启 一些笔记本电脑可能没有小键盘,在这种情况下,只能使用主键盘靠近字母区的数字键。对于那些有小键盘的电脑,当你按下“Num Lock”键时小键盘会开启,而数字键就可以正常工作。如果你发现小键盘无法正…

    other 2023年6月27日
    00
  • php取整

    在PHP中,取整有多种方式,包括向上取整、向下取整、四舍五入等。本文将详细介绍PHP中取整的各种方式及其使用方法,同时提供两个示例说明。 向上取整 向上取整是将一个数值向上舍入到最接近的整数。在PHP中我们可以使用ceil()函数来实现向上取整。以下是一个示例: $num = 3.14; $ceilNum = ceil($num); echo $ceilNu…

    other 2023年5月7日
    00
  • Lua中的递归函数写法实例

    下面是由浅入深的关于Lua中递归函数的写法规范和实例说明。 1. 递归函数的定义 递归函数是指在函数的执行过程中,调用自身的行为。 递归函数必须有一个递归终止条件,否则将会发生无限递归,使程序崩溃。 2. 递归函数的写法 下面是递归函数的标准写法。 function recursion(num) — 1.递归终止条件 if (num == 1) then …

    other 2023年6月27日
    00
  • 详解C语言通过递归与非递归实现蛇形矩阵

    详解C语言通过递归与非递归实现蛇形矩阵 简介 本文将介绍如何使用C语言通过递归与非递归两种方法来实现蛇形矩阵的生成,其中包括蛇形矩阵的概念、递归与非递归的具体实现思路及其核心代码。 蛇形矩阵的概念 蛇形矩阵,也称之为异型矩阵,是一种特殊的矩阵排列形式,其按照行和列的交错顺序填充数据。如下所示的蛇形矩阵: 1 2 3 4 8 7 6 5 9 10 11 12 …

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部