Jquery/Ajax 加载程序的时间取决于页面的加载时间

Jquery/Ajax loader's time to depend on page's loading time

情况:
我正在寻找 jquery/ajax 装载程序,发现 this thread 有用。
现在我使用 this fiddle 作为我的加载器。
一切正常,但我只有一个担心。
在js代码下面,'responseTime'固定为2.5秒。

$.mockjax({ url: "/mockjax", responseTime: 2500 });

因此,如果我的页面加载时间超过 5 秒,加载程序只会以 2.5 秒的速度运行。

问题:
我如何将加载程序的时间依赖于我页面的不可预测的加载时间?

非常感激您的帮忙。谢谢!

您可以显示加载器 gif,直到 window 由

完全加载
$(window).load(function(){

}

然后这样做:

$(window).load(function(){
    $('#cover').fadeOut(1000); 
});
#cover {
    background: url("http://www.aveva.com/Images/ajax-loader.gif") no-repeat scroll center center #FFF;
    position: absolute;
    height: 100%;
    width: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="cover"></div>
<img src="https://i.ytimg.com/vi/lklDJ5VRQao/maxresdefault.jpg" />

它将以显示 gif 开始,一旦内容完全加载就会淡出。


我从 this site 找到了我要找的东西。

下面是我使用的代码。

$(document).ready(function(){
    $("#spinner").bind("ajaxSend", function() {
        $(this).show();
    }).bind("ajaxStop", function() {
        $(this).hide();
    }).bind("ajaxError", function() {
        $(this).hide();
    });
 
    $('#button-upload').click(function() {
        $('#spinner').show();
    });
 });
.spinner {
    position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -50px;
    margin-top: -50px;
    text-align:center;
    z-index:1234;
    overflow: auto;
    width: 100px;
    height: 102px; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div id="spinner" class="spinner" style="display:none;">
    <img id="img-spinner" src="http://sampsonresume.com/labs/pIkfp.gif" alt="Loading"/>
</div>


<input type = "submit" value = "Upload" id="button-upload" />

此代码段中的加载程序不确定,但它在我的网站上运行完美。
无论如何感谢你们的帮助 =)