Ajax加载菊花loding效果

yizhihongxing

完整攻略如下:

Ajax加载菊花loding效果

在Ajax通信过程中,由于请求可能需要一定的时间才能完成,因此通常需要在UI上给用户一个等待的提示,以避免出现用户误以为页面卡死的情况。本文将介绍如何通过加载菊花loading效果来解决这一问题。

CSS方式实现loading效果

我们首先通过CSS来实现loading效果:

.loading {
  border: 8px solid #f3f3f3;
  border-top: 8px solid #3498db;
  border-radius: 50%;
  width: 64px;
  height: 64px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

以上代码定义了一个名为loading的样式,它将会显示为一个旋转的蓝色圆圈。我们在通信开始前将loading样式添加到指定的元素上,通信完成后再将它移除即可实现loading效果。以下是一个示例:

<!DOCTYPE html>
<html>
<head>
  <style>
    .loading {
      border: 8px solid #f3f3f3;
      border-top: 8px solid #3498db;
      border-radius: 50%;
      width: 64px;
      height: 64px;
      animation: spin 2s linear infinite;
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
  </style>
</head>
<body>
  <button id="btn">发送请求</button>
  <div id="container"></div>

  <script>
    const container = document.getElementById('container')
    const btn = document.getElementById('btn')
    const loading = document.createElement('div')
    loading.classList.add('loading')

    btn.addEventListener('click', function() {
      container.appendChild(loading)
      fetch('https://api.github.com/users/github')
        .then(response => response.json())
        .then(data => {
          container.removeChild(loading)
          console.log(data)
        })
        .catch(error => {
          container.removeChild(loading)
          console.log(error)
        })
    })
  </script>
</body>
</html>

以上示例中,当用户点击发送请求按钮时,我们向Github API发送一个请求,并在请求开始时通过container.appendChild(loading)将loading元素添加到页面上,请求结束后再通过container.removeChild(loading)将它移除。

jQuery插件实现loading效果

除了CSS外,我们还可以使用第三方插件来实现loading效果,这将更加便捷。以下是一个使用jQuery插件实现loading效果的示例:

首先,我们需要先引入jQuery和loading插件:

<!DOCTYPE html>
<html>
<head>
  <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-loading-overlay/2.1.7/loadingoverlay.min.js"></script>
</head>
<body>
  <button id="btn">发送请求</button>

  <script>
    const btn = document.getElementById('btn')

    btn.addEventListener('click', function() {
      $.LoadingOverlay("show")
      $.ajax({
        url: 'https://api.github.com/users/github',
        success: data => {
          $.LoadingOverlay("hide")
          console.log(data)
        },
        error: error => {
          $.LoadingOverlay("hide")
          console.log(error)
        }
      })
    })
  </script>
</body>
</html>

以上示例中,我们使用了jQuery LoadingOverlay插件,并通过$.LoadingOverlay("show")方法显示loading效果,通过$.LoadingOverlay("hide")方法隐藏loading效果。这样就可以方便地实现loading效果了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ajax加载菊花loding效果 - Python技术站

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

相关文章

  • R语言变量重编码、重命名的操作

    R语言变量重编码、重命名的操作攻略 在R语言中,变量重编码和重命名是常见的数据处理操作。本攻略将详细介绍如何进行这些操作,并提供两个示例说明。 变量重编码 变量重编码是将原始变量的取值映射到新的取值上,常用于将分类变量转换为数值变量或者将原始取值进行分组。以下是变量重编码的步骤: 创建一个映射表,将原始取值与新取值进行对应。可以使用ifelse()函数、ca…

    other 2023年8月8日
    00
  • Windows XP SP3简体中文版下载地址

    Windows XP SP3简体中文版下载攻略 Windows XP SP3是微软发布的一款经典操作系统,以下是详细的下载攻略。 步骤一:准备工作 在开始下载之前,确保你已经满足以下要求: 一台可以上网的电脑 稳定的网络连接 足够的存储空间 步骤二:选择下载来源 Windows XP SP3简体中文版可以从多个来源进行下载,以下是两个示例: 示例一:官方下载…

    other 2023年8月4日
    00
  • java多态中的就近原则介绍

    Java多态中的就近原则介绍 Java中的多态性有三种表现形式:方法重载、方法重写和对象引用的多态性。其中,对象引用的多态性就是实现延迟绑定的方式,它可以让我们在程序运行时根据实际对象类型来确定调用哪个方法。 在多态场景下,就近原则是作用于对象引用调用方法时的参数列表类型的选择(即决定使用哪个方法),它和方法重载得到相同条件下的参数匹配的方式相同。当Java…

    other 2023年6月26日
    00
  • 详解Java反射各种应用

    详解Java反射各种应用 什么是反射? 反射是 Java 提供的一种机制,它允许程序在运行时动态地访问、检测和修改各种对象的内部属性和方法。反射提供了一个强大的机制,可以让我们在运行时获取类信息、方法信息、属性信息并对其进行操作,而不需要事先知道它们的名字、类型和实现。 Java反射的基本用法 以下是 Java 反射的基本用法: 获取Class对象 反射的第…

    other 2023年6月27日
    00
  • thinkjs+swagger Editor

    ThinkJS+Swagger Editor的完整攻略 本文将为您详细讲解如何使用ThinkJS和Swagger Editor进行API接口的开发和文档编写,包括ThinkJS和Swagger Editor的安装、使用、常见问题及解决方法等内容。 ThinkJS的安装和使用 ThinkJS是一款基于Node.js的Web框架,可以通过以下步骤进行安装和使用:…

    other 2023年5月6日
    00
  • VUE多层路由嵌套实现代码

    VUE多层路由嵌套实现代码攻略 在Vue中,我们可以使用多层路由嵌套来构建复杂的应用程序。这种嵌套路由的实现方式可以帮助我们更好地组织和管理应用程序的不同页面和组件。 下面是一个详细的攻略,介绍了如何在Vue中实现多层路由嵌套。 步骤1:创建Vue项目和路由 首先,我们需要创建一个Vue项目并配置路由。可以使用Vue CLI来创建项目,然后使用Vue Rou…

    other 2023年7月27日
    00
  • Win10英特尔驱动程序或硬件无法启动咋办? wifi6 ax201 160MHz报错解决方案

    确认驱动程序是否正确安装 首先,我们需要确认英特尔网络适配器的驱动程序是否正确安装。如果驱动程序未正确安装,可能会导致硬件无法启动,这时候我们就需要重新安装驱动程序。以下是具体步骤: 打开设备管理器,通过快捷键 Win + X 打开电源用户菜单,然后选择“设备管理器”; 找到网卡对应的设备,可以识别通过设备名称或者通过硬件 ID。如果你安装了英特尔 WiFi…

    other 2023年6月26日
    00
  • 自制小工具大大加速mysqlsql语句优化(附源码)

    自制小工具大大加速MySQL语句优化(附源码) MySQL是一个非常流行的关系型数据库,但是随着数据量的增加,优化MySQL查询语句也变得越来越重要。本文将介绍一款自制小工具,可以帮助您更快速地进行MySQL语句优化。 背景介绍 在工作中,我们常常需要对全表进行数据查询操作,当数据量较大时,查询速度会变得非常慢。而优化MySQL语句可以大大提高查询速度,但是…

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