html js 資源加載前的loading 實(shí)例 禁止loading時(shí)滑動頁面 pc 移動兼容

試?yán)?/h1>
6f79b1e7-f7b2-437b-9add-e817ab2e3cf8.gif

loading的js引入文件必須放<head>內(nèi)

html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <meta name="format-detection" content="telephone=no">
        <meta name="keywords" content="" />
        <title>loading</title>
        <script src="js/base_loading.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <style>
         @keyframes loading_save {
          from { transform: rotate(0deg); }
          to { transform: rotate(360deg); }
        }
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            width: 100%;
        }
        li{
            width: 100%;
            text-align: center;
            list-style: none;
        }
        ul img{
            width: 100%;
        }
    </style>
    <body>
        <ul >
            //這里的圖盡量使用大圖 方便測試效果 我這里的圖一張就有接近2M
            <li><img src="img/1.png" ></li>
            <li><img src="img/2.png" ></li>
            <li><img src="img/3.png" ></li>
            <li><img src="img/4.png" ></li>
            <li><img src="img/5.png" ></li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            <li>哈哈哈哈</li>
            
        </ul>
    </body>
</html>

base_loading.js

//獲取瀏覽器頁面可見高度和寬度
var _PageHeight = document.documentElement.clientHeight;

//計(jì)算loading框距離頂部和左部的距離(loading框的寬度為215px埋虹,高度為61px)
var _LoadingTop = _PageHeight > 61 ? (_PageHeight - 61) / 2 : 0;
var html=document.documentElement
html.setAttribute('style','overflowY:hidden;overflow:hidden;height:' + _PageHeight + 'px;')
//在頁面未加載完畢之前顯示的loading Html自定義內(nèi)容
var _LoadingHtml = '<div id="loadingDiv" style="height: 100%;display: flex;justify-content: center;align-items: center;left: 0;top: 0;position:fixed;left:0;width:100%;height:' + _PageHeight + 'px;top:0;background:#efeff4;opacity:1;filter:alpha(opacity=80);z-index:10000;"><div id="box" style=" cursor1: wait; text-align: center; top:' + _LoadingTop + 'px; color: #696969; font-family:\'Microsoft YaHei\';    line-height: 1.5;border-radius: 5px; padding: 15px 15px; background-color: rgba(58, 58, 58, 0.9);"><div style=""><svg id="loading" style="width:35px; -webkit-animation: loading_save 1s linear infinite;animation: loading_save 1s linear infinite;" viewBox="0 -2 59.75 60.25" width="100%" height="100%"><path fill="#ccc" d="M29.69-.527C14.044-.527 1.36 12.158 1.36 27.806S14.043 56.14 29.69 56.14c15.65 0 28.334-12.686 28.334-28.334S45.34-.527 29.69-.527zm.185 53.75c-14.037 0-25.417-11.38-25.417-25.417S15.838 2.39 29.875 2.39s25.417 11.38 25.417 25.417-11.38 25.416-25.417 25.416z"></path><path fill="none" stroke="#108ee9" stroke-width="3" stroke-linecap="round" stroke-miterlimit="10" d="M56.587 29.766c.37-7.438-1.658-14.7-6.393-19.552"></path></svg></img></div><div style="font-size:15px; color:#fff">努力加載中...</div></div></div>';
//呈現(xiàn)loading效果
document.write(_LoadingHtml);

//window.onload = function () {
//    var loadingMask = document.getElementById('loadingDiv');
//    loadingMask.parentNode.removeChild(loadingMask);
//};
 
//監(jiān)聽加載狀態(tài)改變
document.onreadystatechange = completeLoading;
 
//加載狀態(tài)為complete時(shí)移除loading效果
function completeLoading() {
    if(document.readyState == "interactive" ){//當(dāng)頁面狀態(tài)為interactive 才能獲取到body元素
        //解決移動端還可以下滑頁面 出現(xiàn)滾動條
        document.body.setAttribute('style','overflowY:hidden;overflow:hidden;height:' + _PageHeight + 'px;')
        
    }
    if (document.readyState == "complete") {
        var loadingMask = document.getElementById('loadingDiv');
        document.body.setAttribute('style','overflowY:unset;overflow:unset;height:unset;')
        html.setAttribute('style','overflowY:unset;overflow:unset;height:unset;')
        loadingMask.parentNode.removeChild(loadingMask);

    }
}


當(dāng)頁面資源加載完畢 loading消失 每次測試前請清理瀏覽器緩存 否側(cè)看不到loading效果 因?yàn)橘Y源緩存在瀏覽器里面 我是用的safari無痕瀏覽模式

loading盡量不要使用img圖片 我用的ico圖標(biāo)配合css3動畫實(shí)現(xiàn)的旋轉(zhuǎn) ico圖標(biāo)加載速度可以說跟文字沒區(qū)別 體積小 如果使用gif圖會出現(xiàn)加載中的文字出來了 圖還沒出來 影響效果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市俏蛮,隨后出現(xiàn)的幾起案子仑荐,更是在濱河造成了極大的恐慌延窜,老刑警劉巖书聚,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愁憔,死亡現(xiàn)場離奇詭異腕扶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)惩淳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門蕉毯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人思犁,你說我怎么就攤上這事代虾。” “怎么了激蹲?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵棉磨,是天一觀的道長。 經(jīng)常有香客問我学辱,道長乘瓤,這世上最難降的妖魔是什么环形? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮衙傀,結(jié)果婚禮上抬吟,老公的妹妹穿的比我還像新娘。我一直安慰自己统抬,他們只是感情好火本,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著聪建,像睡著了一般钙畔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上金麸,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天擎析,我揣著相機(jī)與錄音,去河邊找鬼挥下。 笑死揍魂,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的见秽。 我是一名探鬼主播愉烙,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼解取!你這毒婦竟也來了步责?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤禀苦,失蹤者是張志新(化名)和其女友劉穎蔓肯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體振乏,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔗包,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了慧邮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片调限。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖误澳,靈堂內(nèi)的尸體忽然破棺而出耻矮,到底是詐尸還是另有隱情,我是刑警寧澤忆谓,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布裆装,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏哨免。R本人自食惡果不足惜茎活,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望琢唾。 院中可真熱鬧载荔,春花似錦、人聲如沸慧耍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芍碧。三九已至,卻和暖如春号俐,著一層夾襖步出監(jiān)牢的瞬間泌豆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工吏饿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留踪危,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓猪落,卻偏偏與公主長得像贞远,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子笨忌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容