Jquery / Ajax加载器是时候依赖页面的加载时间了

时间:2017-05-17 06:18:02

标签: javascript jquery ajax mockjax

情况:
我正在寻找一个jquery / ajax加载器,发现this thread很有帮助 现在我使用this fiddle作为我的装载机 一切正常,但我只有一个问题。
在js代码下方,' responseTime'固定为2.5秒。

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

因此,如果我的页面加载时间超过5秒,则加载程序仅在2.5秒内运行。

问题:
我如何依赖装载机的时间到我的页面不可预测的加载时间?

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

2 个答案:

答案 0 :(得分:0)

您可以显示加载程序gif,直到窗口完全加载

$(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开始,一旦内容完全加载就会淡出。

答案 1 :(得分:0)


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

以下是我使用的代码。

$(document).ajaxComplete(function () {
    $('.itemName').select2();
});
$(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; 
}

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