使用重写的$.ajax()实现后台处理进度显示(gif)

JS代码

(function($) {     
        $("#progressImgage").hide();
        $("#maskOfProgressImage").hide();
        //备份jquery的ajax方法
        var _ajax = $.ajax;

        //重写jquery的ajax方法
        $.ajax = function(options) {
            var img = $("#progressImgage");
            var mask = $("#maskOfProgressImage");
            img.removeClass('hide');
            mask.removeClass('hide');
            var complete = options.complete;
            options.complete = function(httpRequest, status) {
                img.hide();
                mask.hide();
                if (complete) {
                    complete(httpRequest, status);
                }
            };
            img.show();
            img.show().css({
                "position" : "fixed",
                "top" : "50%",
                "left" : "50%",
                "width" : "150px",
                "height" : "150px",
                "margin-top" : function() {
                    return -1 * img.height() / 2;
                },
                "margin-left" : function() {
                    return -1 * img.width() / 2;
                }
            });
            mask.show().css("opacity", "0.2" );
            return _ajax(options);
        }
    })(jQuery);

CSS代码:

.error {
    color: red;
    margin: 15px;
}

.hide {
    display: none;
}

.progress {
    z-index: 2000
}

.mask {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    background-color: #000000
}

html代码:

    <img id="progressImgage" class="progress hide" src="<c:url value="/resources/img/ajax-loader.gif"/>" />
    <div id="maskOfProgressImage" class="mask hide"></div>

下面是我使用的gif:

效果如下:
这里写图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值