JS基于Ajax实现的网页Loading效果代码

下面提供一份“JS基于Ajax实现的网页Loading效果代码”的攻略,共分为以下几个步骤。

步骤一:创建HTML文件和CSS文件

首先,我们需要创建一个基础的 HTML 文件和对应的 CSS 文件。HTML 文件中包含了页面常规结构,如头部、导航、内容等,并且在内容部分添加一个 div 元素来承载我们的 Loading 效果。CSS 文件中包含了页面元素的样式设置,其中要特别注意的是 Loading 效果的样式设置。具体的代码实现,可以参考下面的示例。

HTML 文件:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Loading Effect by Ajax and JS</title>
    <link rel="stylesheet" type="text/css" href="style.css">
  </head>
  <body>
    <header>
      <h1>Loading Effect by Ajax and JS</h1>
    </header>
    <nav>
      <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
      </ul>
    </nav>
    <main>
      <div id="loading"></div>
      <p>Content goes here ...</p>
    </main>
  </body>
</html>

CSS 文件:

/* 页面全局样式 */
* {
  margin: 0;
  padding: 0;
}

body {
  background-color: #fff;
  color: #333;
  font-family: Arial, sans-serif;
}

header, nav, main {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}

header {
  padding: 20px 0;
  text-align: center;
}

nav {
  margin: 20px 0;
  text-align: center;
}

nav ul {
  list-style-type: none;
}

nav li {
  display: inline-block;
  margin: 0 10px;
}

nav a {
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  color: #333;
  background-color: #f5f5f5;
  border-radius: 5px;
  transition: background-color 0.3s, color 0.3s;
}

nav a:hover {
  background-color: #333;
  color: #fff;
}

main {
  position: relative;
}

/* Loading 效果样式 */
#loading {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  border: 6px solid #ccc;
  border-top-color: #f36;
  animation: rotate 1s linear infinite;
  -webkit-animation: rotate 1s linear infinite;
}

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

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

步骤二:编写 JS 代码

接下来,我们需要编写一个 JS 文件。此文件作为页面的主要逻辑处理部分,包含了 AJAX 请求和 Loading 效果的控制。具体代码实现步骤如下。

1. 给 Loading 效果添加显示和隐藏的控制

我们需要在 JS 文件中编写代码,控制 Loading 效果的显示和隐藏。具体而言,在 AJAX 请求发送前,将 Loading 效果的 display 属性设置为 block,在 AJAX 请求返回成功或者错误时,将 Loading 效果的 display 属性设置为 none。示例代码如下:

// 获取 Loading 效果元素
var loading = document.getElementById('loading');

// AJAX 请求前显示 Loading 效果
function showLoading() {
  loading.style.display = 'block';
}

// AJAX 请求返回后隐藏 Loading 效果
function hideLoading() {
  loading.style.display = 'none';
}

2. 发送 AJAX 请求并获取返回的数据

我们需要在 JS 文件中编写代码,对我们想要获取的数据进行 AJAX 请求,并在获得请求返回数据后进行处理。一般而言,我们会使用 XMLHttpRequest 对象来实现 AJAX 请求。在 AJAX 请求返回数据时,我们可以通过 XMLHttpRequest.responseText 获取到返回的数据。可以将数据直接显示在页面上,或通过 JS 对数据进行处理。示例代码如下:

function loadData() {
  // AJAX 请求前显示 Loading 效果
  showLoading();

  /*
  * 创建一个 XMLHttpRequest 对象
  * 并设置其请求方法和请求地址
  */
  var xhr = new XMLHttpRequest();
  xhr.open('GET', 'http://localhost:8080/api/data', true);

  // 发送 AJAX 请求
  xhr.send();

  // 监听 AJAX 请求状态
  xhr.onreadystatechange = function () {
    if (xhr.readyState == 4) { // AJAX 请求已完成
      if (xhr.status == 200) { // AJAX 请求成功
        var data = xhr.responseText; // 获取返回的数据
        // 对数据进行处理
        // ...
        // 隐藏 Loading 效果
        hideLoading();
      } else { // AJAX 请求错误
        alert('Error occurred: ' + xhr.statusText);
        // 隐藏 Loading 效果
        hideLoading();
      }
    }
  }
}

注意:上述代码中的 http://localhost:8080/api/data 为示例 AJAX 请求地址,请根据实际情况修改。

步骤三:调用 JS 函数

最后,我们在 HTML 文件中的相应位置调用 JS 函数,触发 AJAX 请求并显示 Loading 效果。示例代码如下:

<p><button onclick="loadData()">Load Data</button></p>

以上就是基于 Ajax 实现的网页 Loading 效果的完整攻略。在实际开发过程中,我们还可以对 Loading 效果进行更多的优化和改进,例如添加多种显示样式、添加动画效果、添加进度条等等,以提升用户体验。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS基于Ajax实现的网页Loading效果代码 - Python技术站

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

相关文章

  • 利用BootStrap的Carousel.js实现轮播图动画效果

    以下是“利用BootStrap的Carousel.js实现轮播图动画效果”的完整攻略。 步骤一:引入Bootstrap和JQuery库 <!– 引入Bootstrap样式 –> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.…

    JavaScript 2023年6月11日
    00
  • JavaScript输出

    JavaScript可以通过多种方式输出内容,本文将为您梳理常用的输出方式并提供相应的代码示例。 1. 使用alert()弹出框输出 alert()方法是一种简单快捷的输出方式,直接在页面上弹出一个窗口,展示指定内容。下面是一个例子。 alert("Hello World!"); 2. 使用console.log()控制台输出 conso…

    Web开发基础 2023年3月30日
    00
  • JS中动态创建元素的三种方法总结(推荐)

    下面是关于“JS中动态创建元素的三种方法总结(推荐)”攻略的详细讲解: 简介 在开发中,动态创建元素是不可避免的需求。常见的情况比如使用JS来创建弹窗、显示动态数据、动态添加表单、动态添加图片等等。下面将介绍JS中动态创建元素的三种方法,这些方法都是比较常用和实用的。 方法一:使用document.createElement创建元素 使用document.c…

    JavaScript 2023年6月10日
    00
  • JavaScript中的事件循环机制及其运行原理

    JavaScript中的事件循环机制及其运行原理 JavaScript是一种单线程语言,这意味着一次只能执行一个任务。但是,JavaScript中有许多异步操作(例如网络请求、定时器等)需要在后台执行而不会阻塞代码运行,这就是事件循环机制的作用。 事件循环机制的基本概念 事件循环是JavaScript的一个重要特性,它基于一个简单的原理:执行栈为空时,Jav…

    JavaScript 2023年6月11日
    00
  • 浅谈js中的attributes和Attribute的用法与区别

    下面是关于“浅谈js中的attributes和Attribute的用法与区别”的完整攻略。 什么是attributes和Attribute 在JavaScript中,元素属性分为attributes和Attribute两种。 attributes是DOM节点自带的特征,包括style、class、id等; Attribute是应用操作属性值的一个接口,包括g…

    JavaScript 2023年6月10日
    00
  • 什么是JavaScript

    JavaScript是一种脚本语言,是用于Web开发的一种编程语言,在网页中主要负责实现交互效果和动态效果,如:表单校验、动画效果、音频视频控制、数据可视化等功能。 JavaScript最初由Netscape公司开发,在1995年被首次引入网页中,从此开始成为解决客户端Web开发的主要语言之一。现在,JavaScript已经发展成为一种非常强大、灵活、广泛应…

    JavaScript 2023年5月17日
    00
  • Javascript基础知识(二)事件

    Javascript基础知识(二)事件 一、事件的定义和使用 事件是指在操作网页时所产生的一系列动作,例如鼠标点击、键盘输入、窗口滚动等等。通过事件,我们可以给网页绑定相应的响应函数,实现网页的交互功能。 在Javascript中,事件通常被定义为对象的一种,可以使用addEventListener()方法来绑定事件函数。示例代码如下: document.g…

    JavaScript 2023年6月10日
    00
  • JavaScript实现计算器的四则运算功能

    实现计算器的四则运算功能,需要掌握一些基本的JavaScript语法。下面是实现计算器的步骤攻略: 1. HTML页面的结构设计 首先需要创建HTML结构,也就是计算器的页面UI布局,建议使用最基础的HTML结构,不使用框架,以便更好的理解JavaScript的实现过程。其中最重要的是操作符和数字按钮,结果展示部分和清除按钮。 示例代码如下: <!DO…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部