页面有多个向后台发送的请求加载过程中显示loading,加载完成loading消失

    //全局加载动画
    var ajax_set = function() {
        var count = 0;
        var callback = null;
        return {
            ajax: function(config) {
                count += 1;
                var success = config.success;
                config.success = function(result) {
                    success && success(result);
                    count -= 1;
                    count == 0 && callback && callback();
                };
                $.ajax(config);
            },
            complete: function(_callback) {
                callback = _callback;
            }
        };
    };

    var handler = ajax_set();
    var u=window.location.href;
    time_c(u,$(".BLACKCOVER_outer1"),".al_in");
    handler.complete(function() {
        clearTimeout(time_c(u));
        $(".BLACKCOVER_outer1").fadeOut();
        hide();
//      mini_scroll($(".scroll_outer1"));
        $(".scroll_outer").each(function(){
            mini_scroll($(this));
        });
    });
    //5秒未刷出~显示手动刷新
    function time_c(u,$outer,out){
        var t=setTimeout(function(){
            if(!$outer.is(":hidden")){
                var $ref=$("<div class='ref_out'>如果长时间无响应<a href="+u+" class='ref'>请点击这里刷新</a></div>");
                $outer.find(out).append($ref);
            }
        },5000);
        return t;
    }

原理:每发送一次请求就+1,每执行完一次请求就-1,最后数字得0 就说明都请求完了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。