加載動畫js方法javascript
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> * { margin: 0; padding: 0; } #wrapper { background: #fff; opacity: 1; position: fixed; z-index: 10; top: 0px; width: 100%; height: 1600px; } #loader { background: url('http://img.zcool.cn/community/01909155a905dc32f875495ea197c9.gif') 50% 50% no-repeat #fff; width: 200px; height: 200px; margin: 300px auto; } </style> <script> window.addEventListener("load", function() { var wrapper = document.getElementById("wrapper"); document.body.removeChild(wrapper); }); </script> </head> <body> <div id="wrapper"> <div id="loader"></div> </div> <span>動畫加載完畢</span> </body> </html>
原生js的load方法,沒有依賴。css
加載動畫jq方法html
1.使用setTimeout方法java
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> .wrapper { position: relative; height: 100%; width: 100%; } #loader-wrapper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1000; background: #fff; } #loader { background: url('http://img.zcool.cn/community/01909155a905dc32f875495ea197c9.gif') 50% 50% no-repeat #fff; display: block; position: relative; left: 50%; top: 50%; width: 200px; height: 200px; margin: -100px 0 0 -100px; z-index: 1001; } .loaded #loader { opacity: 0; } .loaded #loader-wrapper { visibility: hidden; } </style> </head> <body> <div class="wrapper"> <div id="loader-wrapper"> <div id="loader"></div> </div> <span>動畫加載完畢</span> </div> <script src="//cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { setTimeout(function() { $('.wrapper').addClass('loaded'); }, 3000); }); </script> </body> </html>
模擬動畫效果(沒什麼卵用)jquery
2.使用load方法css3
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> .loader { position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 9999; background: url('http://img.zcool.cn/community/01909155a905dc32f875495ea197c9.gif') 50% 50% no-repeat rgb(249, 249, 249); } </style> </head> <body> <div class="loader"></div> <span>動畫加載完畢</span> <script src="//cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script> <script type="text/javascript"> $(window).load(function() { $(".loader").fadeOut("slow"); }) </script> </body> </html>
監聽網頁加載效果(不精準)ajax
tip:動畫效果實現方法css3動畫
1.gif圖片app
2.svg圖片(推薦)svg
3.css3動畫(推薦)
以上方法並不能真正的獲取頁面加載進度信息。
接近真正的獲取頁面加載進度的方法
使用pace.js插件,監聽元素加載,監聽ajax請求。此插件原理是搜索頁面的元素、請求,利用(ajax)document.readyState來獲取進度信息。(推薦)
PS:若是網頁使用了預加載或者懶加載技術的話,進度條的信息也是不真實的。