JS+CSS 웹 페이지 로 딩 중 애니메이션 효과 구현

본 논문 의 사례 는 JS 가 웹 페이지 로 딩 효 과 를 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
필요 한 재료:
loading 애니메이션 gif 그림
기본 논리:
모드 상자 커버+loading.gif 움 직 이 는 그림,
기본 숨 김 모드 상자
페이지 가 Ajax 요청 데 이 터 를 보 내기 시 작 했 을 때 모드 상 자 를 표시 합 니 다.
요청 완료,모드 상자 숨 기기
다음은 Django 를 통 해 웹 애플 리 케 이 션 을 새로 만 들 고 간단하게 실천 해 보 겠 습 니 다.
실천 하 다.
1.Django 프로젝트 를 새로 만 들 고 app 01 을 만 들 며 경로 와 static 를 설정 합 니 다.gif 동 도 를 정적 폴 더 아래 에 두 고 구 조 는 다음 과 같 습 니 다.

2.보기 에서 함 수 를 정의 합 니 다.페이지 test.html 로 돌아 갑 니 다.

def test(request):
 return render(request, 'test.html')
3.test.html 페이지 는 다음 과 같 습 니 다.

<!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>

<div id="content">
 <p>         ....</p>
</div>

<!--       -->
<div class="loading hide">
 <div class="gif"></div>
</div>

</body>
</html>

4.CSS 양식 은 다음 과 같다.

/*       */
.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;
}

설명:
  • position:fixed 를 설정 하고 상하 좌우 가 0 이 되도록 하여 모드 상자 로 전체 페이지 를 덮어 씁 니 다
  • gif 동적 그림 을 배경 으로 가운데 로 설정 하여 로드 효 과 를 표시 합 니 다
  • z-index 값 을 설정 하여 gif 그림 을 모드 상자 위 에 떠 있 게 합 니 다
  • background-color: black;눈 에 띄 게 보이 기 위해 구체 적 으로 사용 할 때 white 로 설정 할 수 있 습 니 다
  • 5.JS 파일 은 다음 과 같 습 니 다.
    
    $(function () {
     //      ,     
     $('div.loading').show();
    
     $.ajax({
      url: "/ajax_handler.html/",
      type: 'GET',
      data: {},
      success: function (response) {
       var content = response.content;
       $('#content').html(content);
    
       //    ,     
       $('div.loading').hide();
      },
      error: function () {
       $('#content').html('server error...');
    
       //    ,     
       $('div.loading').hide();
      }
     })
    });
    
    
    설명:
    페이지 를 불 러 온 후 Ajax 요청 을 보 내기 시작 합 니 다.서버 ajaxhandler 보기 요청 데이터,모드 상자 표시
    요청 이 완료 되면 성공 여부 와 상 관 없 이 모드 상 자 를 숨 깁 니 다.
    6.ajax_handler 보 기 는 다음 과 같 습 니 다.네트워크 지연 을 모 의 하고 문자열 을 되 돌려 줍 니 다.
    
    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)})
    
    
    효 과 는 다음 과 같 습 니 다:


    gif 동 도 를 표시 하지 못 하면 브 라 우 저 캐 시 문제 일 수 있 습 니 다.프로젝트 의 전체 코드 는 여기에 있 습 니 다https://github.com/Ayhan-Huang/Loading
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기