在等待数据时触发JavaScript-loader

问题描述 投票:0回答:1

我试图在我的网站上添加一个加载程序,当页面“加载”时应该可见。

例如。加载时间是大约6,8秒(等待6.3秒,下载0.4秒)。我希望我的装载机在整个6,8秒内可见,但就像现在一样,它只是在最后几秒显示。

继承我的代码:HTML:

<div id="tpa-preloader"></div>

CSS:

#mk-boxed-layout{ display: none; }

#tpa-preloader{
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:url(/preloader.gif) no-repeat #FFFFFF 50%;
    -moz-background-size:148px 128px;
    -o-background-size:148px 128px;
    -webkit-background-size:148px 128px;
    background-size:148px 128px;
    z-index: 99998;
    width:100%;
    height:100%;
}

JavaScript的:

function onReady(callback) {
    var intervalID = window.setInterval(checkReady, 1000);

    function checkReady() {
        if (document.getElementsByTagName('body')[0] !== undefined) {
            window.clearInterval(intervalID);
            callback.call(this);
        }
    }
}

function show(id, value) {
    document.getElementById(id).style.display = value ? 'block' : 'none';
}

onReady(function () {
    show('mk-boxed-layout', true);
    show('tpa-preloader', false);
});

这是我网站的链接:http://nettbutikk-sandbox.ellco.me/produkt/o35/

如何让tpa-preloader在整个6,8秒内可见,这意味着从装载过程的一开始?

提前致谢!

javascript html css wordpress loading
1个回答
0
投票

像大多数语言一样,JS也使用序列访问。我想说 :

  1. 将您的加载程序代码放在顶部的html页面上。加载库。然后 : <body> <script> // Init you preloader // After this script put all other.... // then use window.onload and put on bottom some // setTimeout ( 4-6 sec ) then timer will trigger func hide preloader... </script>
© www.soinside.com 2019 - 2024. All rights reserved.