Jquery 使用ajax全局事件显示加载图像

Jquery 使用ajax全局事件显示加载图像,jquery,Jquery,在应用程序中显示所有ajax调用的加载图像时,我有点问题 这是我尝试的方式(未成功) 正面: <img src="~/Images/ajax-progress.gif" alt="" class="hide" id="ajaxProgress"/> JavaScript: $(function () { $('#ajaxProgress').bind('ajaxStart', function () { $(this).show(); }).bind('ajaxS

在应用程序中显示所有ajax调用的加载图像时,我有点问题

这是我尝试的方式(未成功)

正面:

    <img src="~/Images/ajax-progress.gif" alt="" class="hide" id="ajaxProgress"/>
JavaScript:

$(function () {
 $('#ajaxProgress').bind('ajaxStart', function () {
    $(this).show();
}).bind('ajaxStop', function () {
    $(this).hide();
});
}))

进行ajax调用时,不会显示图像


为什么?

您可以使用此名称空间-它是自定义名称空间

$(document).bind("ajaxStart.mine", function() {
   $('#ajaxProgress').removeClass('hide');
});

$(document).bind("ajaxStop.mine", function() {
    $('#ajaxProgress').addClass('hide');
});
或者你可以用这个

$(document)
    .ajaxStart(function(){
        $('#ajaxProgress').removeClass('hide');
    })
    .ajaxStop(function(){
        $('#ajaxProgress').addClass('hide');
    });

从jQuery 1.8开始,ajaxStart事件只能分配给文档

请尝试以下方法:

$(document).ajaxStart(function() {
   $('#ajaxProgress').show();
});

$(document).ajaxComplete(function() {
   $('#ajaxProgress').hide();
});

你认为“this”在callacks中是什么意思?你在css类中也拼写了“important”错误。你使用的是什么版本的jQuery?您是否检查了控制台以查看是否有任何错误发生?你的CSS类“隐藏”做什么?它可能覆盖了.show()应用的内联样式。我想你是对的,“.hide”表示显示:无!重要的;我在inspector中看到它更改为显示内联,但没有显示任何内容。是的,这就是问题所在!重要的是,display:none优先于.show()函数应用的display:inline。创建自己的.不可见类,该类显示:无;用它来代替.hide类。也尝试了这个答案(第一个块),但它不起作用,是什么意思。mine in-ajaxStop.mine的意思是什么?在“我的”是您的自定义名称空间之前,我没有看到它,因为我不知道您是否绑定了更多AjaxStart/Stop函数。好的,不,我没有任何名称空间。我用了第二组答案,请在你的问题中插入你的CSS。也许你有问题。我插入了css,我发现了!重要的是这个问题。。和show()不要“传递”它。有办法通过吗?
$(document).ajaxStart(function() {
   $('#ajaxProgress').show();
});

$(document).ajaxComplete(function() {
   $('#ajaxProgress').hide();
});