Home Web Front-end JS Tutorial JS and CSS realize animation effect sharing during web page loading

JS and CSS realize animation effect sharing during web page loading

Jan 02, 2018 am 09:38 AM
css javascript

This article mainly introduces JS+CSS to realize the animation effect in web page loading in detail. It has certain reference value. Interested friends can refer to it. I hope it can help everyone.

Required materials:

A gif picture of the loading animation

Basic logic:

Model Mode box mask + loading.gif animation,
Hide the modal box by default
When the page starts to send Ajax request data, the modal box is displayed
The request is completed, the modal box is hidden

Let's create a new web application through Django to simply practice

Practice

1. Create a new Django project, create application app01, configure routing and static, and omit . Place the gif animation in the static folder with the following structure:

2. Define a function in the view, which returns the page test.html:


1

2

def test(request):

 return render(request, 'test.html')

Copy after login

3. The test.html page is as follows:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<!DOCTYPE html>

<html lang="en">

<head>

 <meta charset="UTF-8">

 <title>Title</title>

 <!-- 导入css样式 -->

 <link rel="stylesheet" href="/static/css/loading.css" rel="external nofollow" >

 <!-- 导入jquery 和 js文件 -->

 <script src="/static/plugins/jquery-3.2.1.js"></script>

 <script src="/static/js/loading.js"></script>

</head>

<body>

 

<h1>你好啊,朋友!</h1>

<hr>

 

<p id="content">

 <p>正在请求服务器数据....</p>

</p>

 

<!-- 模态框部分 -->

<p class="loading hide">

 <p class="gif"></p>

</p>

 

</body>

</html>

Copy after login

4. The CSS style is as follows:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

/* 模态框样式 */

.loading {

 position: fixed;

 top: 0;

 bottom: 0;

 right: 0;

 left: 0;

 background-color: black;

 opacity: 0.4;

 z-index: 1000;

}

 

/* 动图样式 */

.loading .gif {

 height: 32px;

 width: 32px;

 background: url('/static/img/loading.gif');

 position: fixed;

 left: 50%;

 top: 50%;

 margin-left: -16px;

 margin-top: -16px;

 z-index: 1001;

}

Copy after login

Instructions:

  • By setting position: fixed, and setting the top, bottom, left and right to 0, the modal box covers the entire page;

  • Set the gif dynamic image as the background and center it to show the loading effect;

  • By setting the z-index value, the gif image is suspended above the modal box;

  • background-color: black; is to make it look more obvious. It can be set to white when used specifically;

5. The JS file is as follows:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

$(function () {

 //准备请求数据,显示模态框

 $('p.loading').show();

 

 $.ajax({

  url: "/ajax_handler.html/",

  type: 'GET',

  data: {},

  success: function (response) {

   var content = response.content;

   $('#content').html(content);

 

   //请求完成,隐藏模态框

   $('p.loading').hide();

  },

  error: function () {

   $('#content').html('server error...');

 

   //请求完成,隐藏模态框

   $('p.loading').hide();

  }

 })

});

Copy after login

Description:

After the page is loaded, it starts sending Ajax requests, requesting data from the server ajax_handler view, and then displays the modal box
After the request is completed , regardless of success or failure, hide the modal box

6.ajax_handler view is as follows, it simulates network delay and returns some strings:


1

2

3

4

5

6

7

8

9

10

11

from django.http import JsonResponse

from django.utils.safestring import mark_safe # 取消字符串转义

 

def ajax_handler(request):

 # 模拟网络延迟

 import time

 time.sleep(3)

 

 msg = ''' XXX ''' # 这里你可以随便放入一些字符串

 

 return JsonResponse({"content": mark_safe(msg)})

Copy after login

Effect As follows:

If the gif cannot be displayed, it may be a browser cache problem.

Related recommendations:

Examples of using CSS and JS to achieve animation effects during loading of web pages

Using css to achieve loading animation effects

Discussion on small problems in JS and CSS loading_Basic knowledge

The above is the detailed content of JS and CSS realize animation effect sharing during web page loading. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What does placeholder mean in vue What does placeholder mean in vue May 07, 2024 am 09:57 AM

What does placeholder mean in vue

How to write spaces in vue How to write spaces in vue Apr 30, 2024 am 05:42 AM

How to write spaces in vue

How to get dom in vue How to get dom in vue Apr 30, 2024 am 05:36 AM

How to get dom in vue

What does span mean in js What does span mean in js May 06, 2024 am 11:42 AM

What does span mean in js

What does rem mean in js What does rem mean in js May 06, 2024 am 11:30 AM

What does rem mean in js

How to introduce images into vue How to introduce images into vue May 02, 2024 pm 10:48 PM

How to introduce images into vue

What is the function of span tag What is the function of span tag Apr 30, 2024 pm 01:54 PM

What is the function of span tag

How to wrap prompt in js How to wrap prompt in js May 01, 2024 am 06:24 AM

How to wrap prompt in js

See all articles