이 글에서는 HTML5+JavaScript를 사용하여 페이지 로딩 애니메이션을 구현하는 방법을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
(관련 튜토리얼 추천 : html tutorial )
1. 타이머를 사용하고 매번 기다리세요.
2. 페이지 로딩 완료 여부에 따라 로딩 애니메이션이 종료되었는지 확인합니다.
<script> document.onreadystatechange=function(){ console.log(document.readyState); if(document.readyState=="complete"){ $(".loading").fadeOut(); } } </script>
3 위의 두 가지는 gif 이미지를 직접 사용하여 웹페이지 로딩 속도를 빠르게 하기 위해 CSS3를 사용하여 재생 애니메이션을 생성합니다
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>CSS3进度条</title> <style> .loading{width:100%; height: 100%;position: fixed;top:0;left: 0;z-index: 100;background: #ffffff;} .loading .pic{ width: 64px; height: 64px; /* background: url(images/loading.gif); */ position: absolute; top: 0; bottom: 0; left:0; right:0; margin: auto} .loading .pic i{ display: block; float: left; width: 6px; height: 50px; background: #399; margin: 0 2px; transform: scaleY(0.4); animation: load 1.2s infinite; } .loading .pic i:nth-child(1){animation-delay:0.1s } .loading .pic i:nth-child(2){animation-delay:0.2s } .loading .pic i:nth-child(3){animation-delay:0.3s } .loading .pic i:nth-child(4){animation-delay: 0.4s} .loading .pic i:nth-child(5){animation-delay:0.5s } @keyframes load{ 0%,40%,100%{transform: scaleY(0.4)} 20%{transform:scaleY(1) } } </style> </head> <body> <div> <div> <i></i> <i></i> <i></i> <i></i> <i></i> </div> </div> <img src="http://i1.hdslb.com/bfs/archive/763293ce06bf1e684ef0ea3da43ae5008d8564b8.jpg" alt=""/> <img src="http://i1.hdslb.com/bfs/archive/763293ce06bf1e684ef0ea3da43ae5008d8564b8.jpg" alt=""/> <img src="http://i1.hdslb.com/bfs/archive/763293ce06bf1e684ef0ea3da43ae5008d8564b8.jpg" alt=""/> <img src="http://i1.hdslb.com/bfs/archive/763293ce06bf1e684ef0ea3da43ae5008d8564b8.jpg" alt=""/> </body> </html>
효과는 다음과 같습니다
4. 페이지 로딩 진행에 따른 시간
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>实时获取加载数据的进度条</title> <style> .loading { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 100; background: #ffffff; } .loading .pic { width: 100px; height: 100px; /* background: url(images/loading.gif); */ position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; /* border: 1px solid red; */ font-size: 30px; text-align: center; line-height: 100px; } .loading .pic span{ display: block; width: 80px; height: 80px; position: absolute; top:10px; left: 10px; border-radius: 50%; box-shadow: 0 3px 0 #666; animation: rotate 1s infinite linear; } @keyframes rotate{ 0%{transform: rotate(0deg);} 100%{transform: rotate(360deg);} } </style> <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script> $(function(){ var img=$("img"); var num=0; img.each(function(i){ var oImg=new Image(); oImg.onload=function(){ oImg.onload=null; num++; $(".loading b").html(parseInt( num/$("img").size()*100)+"%"); if(num>=i){ $(".loading").fadeOut(); } } oImg.src=img[i].src; }); }) </script> </head> <body> <div> <div> <span></span> <b>0%</b> </div> </div> <img src="http://i1.hdslb.com/bfs/archive/763293ce06bf1e684ef0ea3da43ae5008d8564b8.jpg" alt="" /> <img src="http://i1.hdslb.com/bfs/archive/763293ce06bf1e684ef0ea3da43ae5008d8564b8.jpg" alt="" /> <img src="http://i1.hdslb.com/bfs/archive/763293ce06bf1e684ef0ea3da43ae5008d8564b8.jpg" alt="" /> <img src="http://i1.hdslb.com/bfs/archive/763293ce06bf1e684ef0ea3da43ae5008d8564b8.jpg" alt="" /> </body> </html>
효과는 다음과 같습니다. 로딩이 너무 빨라서 애니메이션 초기 페이지를 스크린샷으로 찍었습니다.
작성된 스타일 코드는 이 URL http://autoprefixer.github.io/에서 찾을 수 있으며, 이를 통해 다양한 브라우저에 자동으로 적응할 수 있습니다.
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 비디오를 방문하세요! !
위 내용은 H5+JS는 페이지 로딩 애니메이션을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!